尝试从VFS FileObject获取ContentInfo时的NullPointer

时间:2013-04-30 14:49:53

标签: java apache-commons-vfs

我成功地使用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。为什么是这样?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

正如@ Sam-Rad写的那样,它已在trunk(即将推出的VFS 2.1)中修复:

https://issues.apache.org/jira/browse/VFS-427