关于FileOutputStream

Luy1987 发布于 2012/11/07 09:16
阅读 302
收藏 0

下面红色加亮处,里面byte数组需要多大好  

 

fos = new FileOutputStream(ServletActionContext.getServletContext()
     .getRealPath("/upload") + "\\" + this.getUploadFileName());
   fis = new FileInputStream(this.getUpload());
   byte[] buffer = new byte[1024];
   int len = 0;
   while ((len = fis.read(buffer)) > 0) {
    fos.write(buffer, 0, len);
   }

加载中
0
红薯
红薯
1024 我想是合适的,这个问题也不大,看你的文件一般是多大的来定
0
喜之郎
喜之郎
这个地方嘛,我写程序试也想过。 我估计呢,太小了不好,因为太小while循环的次数就会增多,程序执行时间就长。太多了不好,取极限情况,要上传文件的大小,那么要把整个文件都上传完放到buffer里,这样占用了太多的内存,可能导致内存溢出。这个地方应该弹性很大的,多点少点对程序性能影响不大。以上为个人猜想。
0
逝水fox
逝水fox
套一层BufferedInputStream且不是好了
Z
ZYud
最好不用这个,因为在写的时候还要添加\r\n
0
Ryan-瑞恩
Ryan-瑞恩

引用来自“喜之郎”的答案

这个地方嘛,我写程序试也想过。 我估计呢,太小了不好,因为太小while循环的次数就会增多,程序执行时间就长。太多了不好,取极限情况,要上传文件的大小,那么要把整个文件都上传完放到buffer里,这样占用了太多的内存,可能导致内存溢出。这个地方应该弹性很大的,多点少点对程序性能影响不大。以上为个人猜想。
恩,,,,这个说法我赞成。
返回顶部
顶部