前段项目中碰到一个小问题,需要从本地的磁盘或者映射的磁盘路径中把某个文件拷贝到web的发布目录下
当时就采用了不带buff输入流的方式,结果发现速度是出奇的慢,2m多的文件竟然拷贝的时间达到了13秒多
于是问了以前的同学,发现需要多使用一个中间的缓冲流的方式,就把速度问题解决了。
FileInputStream input=new FileInputStream(oldPath);
FileOutputStream output=new FileOutputStream(newPath);
BufferedInputStream OBIS = new BufferedInputStream(input);
BufferedOutputStream OBOS = new BufferedOutputStream(output);
int in=OBIS.read();
while(in!=-1)
{
OBOS.write(in);
in=OBIS.read();
}
OBOS.flush();