2013-04-30 61 views
1

我成功地使用VFS從HTTP,SFTP,FTP等下載文件。我需要獲取文件的內容類型,並且遇到了一件奇怪的事情:我不確定爲什麼會發生。NullPointer試圖從VFS獲取ContentInfo FileObject

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(); 

如果我刪除調用getSizecontent.getContentInfo將返回null。爲什麼是這樣?我錯過了什麼嗎?

+0

會發生什麼事,如果你之前和之後引發此行'getSize'打電話? 'System.out.println(content.isOpen()?「Open」:「Closed」);' – durron597 2013-04-30 14:59:54

+0

什麼樣的文件導致這個錯誤? – 2013-04-30 15:04:46

+0

看起來像一個[''問題'](http://mail-archives.apache.org/mod_mbox/commons-issues/201207.mbox/%[email protected]%3E) – 2013-04-30 15:43:43

回答