JAVA问题,求高手们能帮我解释下下面这段代码,我不是很懂,谢谢,希望能详细点

if(upload!=null){
for(int i=0;i<upload.size();i++){
InputStream is = new FileInputStream(upload.get(i));
OutputStream os = new FileOutputStream("d:\\upload\\"+uploadFileName.get(i));
byte buffer[] = new byte[1024];
int count = 0;
while((count=is.read(buffer))>0){
os.write(buffer, 0, count);

}
哦,大致了解了,但是这句
byte buffer[] = new byte[1024];
是什么意思?主要是个什么作用呢

upload是定义的一个list,里边放的是file类型的对象,循环取出每一个file对象,然后把每一个file对象输出到“d:\upload\文件名”目录下,并将file对象中的内容输出到新生成文件中去。其实可以看做是一个文件copy的功能。

实例化一个byte类型的数组而已,用来存放读取出来的file内容,然后将这个数组的内容在读入到d盘下你设定的目录中去。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-18
// 代码不全,只能帮你加上部分注释

// 上传文件不为空
if(upload!=null){
for(int i=0;i<upload.size();i++){
// 建立一个输入文件流
InputStream is = new FileInputStream(upload.get(i));

// 建立一个输出文件流,文件存放位置为"d:\\upload\\" + 文件名
OutputStream os = new FileOutputStream("d:\\upload\\"+uploadFileName.get(i));

// 分配接收缓冲区
byte buffer[] = new byte[1024];
int count = 0;
while((count=is.read(buffer))>0){
// 读写文件
os.write(buffer, 0, count);
}

byte buffer[] = new byte[1024]; 分配接收缓冲区大小1K,
从文件流中读写内容大小是1K
第2个回答  2011-07-18
如果upload文件夹不存在,创建文件夹,创建流把东西写到upload
相似回答