我已成功使用VFS从HTTP,SFTP,FTP等下载文件。我需要获取文件的内容类型,但遇到了奇怪的事情,我不确定为什么会这样。
FileObject file = vfs.resolveFile(uri) ;
FileContent content = remote.getContent();
InputStream source = content.getInputStream();
ByteArrayOutputStream target = new ByteArrayOutputStream();
copy(source, target);
content.getSize(); // HACK: Prevents null-pointer in next line
String type = content.getContentInfo().getContentType();
如果我删除对
getSize
的调用,content.getContentInfo
将返回null。为什么是这样?我想念什么吗? 最佳答案
正如@ Sam-Rad所写,它已固定在主干中(即将发布的VFS 2.1):
https://issues.apache.org/jira/browse/VFS-427