use*_*133 1 java fileoutputstream
File file = new File(directory + ".zip");
if(file.exists()) {
return;
}
url = new URL("http://someURL" + session);
is = url.openStream();
fos = new FileOutputStream(file);
int data;
//Leser forbi det første tegnet
is.read();
while ((data = is.read()) != -1) {
fos.write(data);
}
is.close();
fos.close();
Run Code Online (Sandbox Code Playgroud)
当我调用这种方法时,我的程序冻结了20.如何更快地完成这个过程?
使用缓冲区一次传输一小段数据,而不是一次读取一个字节.这对于大文件来说将更加节省资源.我想你的zip文件很大.
byte[] buffer = new byte[4096];
int n = 0;
while (-1 != (n = is.read(buffer))) {
fos.write(buffer, 0, n);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2396 次 |
| 最近记录: |