我有一個Java應用程序,它使用URL
獲取相對較小的.zip
文件,將其保存在臨時目錄中,將其解壓到本地計算機並對其中一個文件進行一些更改。這一切都很好。Java:處理輸入流中的大文件
不過,我通過BufferedInputStream
通過以下方式訪問.zip
文件:
Url url = "http://somedomain.com/file.zip";
InputStream is = new BufferedInputStream(url.openStream(), 1024);
我擔心的是,這個應用程序將實際用於傳輸非常大zip
文件,我在想,如果一個BufferedInputStream
實際上是做這件事的最好方法,或者我是否最終會拋出某種類型的OutOfMemoryException
?
所以我的問題是,BufferedInputStream
是否適合這項工作,或者我應該以完全不同的方式去解決它?
您可能想使用庫來處理這個問題。文件上傳是一個簡單的DOS入口點。看看Apache Commons Fileupload中的FileUpload類。 – Perception 2012-01-17 15:28:34
@Perception他在哪裏上傳?他只是下載文件並將其解壓縮。 – Viruzzo 2012-01-17 15:30:27
@維魯佐 - 採取的一點。他描述的過程聽起來非常像文件上傳,儘管在我的評論中文件*傳輸*將是更合適的術語。 – Perception 2012-01-17 15:33:30