java 写文件while,帮我解释一下。

InputStreaminput;//要写的数据OutputStreamoutput;Filefile;creatdir(path);//建文件目录;file=creat... InputStream input; //要写的数据
OutputStream output;
File file;

creatdir(path); //建文件目录;
file = creatfile(path + filename);建文件 -和上面一行都是自定义方法。
output = new FileOutputStream(file);
byte buffer[] =new byte[4*1024];
while((input.read(buffer)) !=-1){
output.write(buffer);
}
while条件是什么意思,为什么是read。它里面有数据吗?
output.write(buffer);这句为什么是写到buffer里,它怎么保存到文件里的?
展开
 我来答
Jseven_jy
2010-08-30 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1119万
展开全部
input.read(buffer)表示将数据读到buffer中去,如果没有数据了,也就是已经读完了,那么就为-1,循环就结束了。

output.write(buffer)表示把buffer里面保存的数据写到output所指向的那个文件中去
也就是写到output = new FileOutputStream(file);里面的file里面。

希望能帮到你~!
jtowzzd
2010-08-30 · TA获得超过201个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:143万
展开全部
read从input输入流读取数据,数据当read读取不到数据的时候他就返回-1;判断数据有没读取结束;output就是文件输出流,new FileOutputStream(file),file就是你写入文件;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿飞18
2010-08-30 · 超过11用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:0
展开全部
1.buffer是用来缓存input.read(buffer)操作当前读取的数据的。
2.如果已经读取完毕,input.read(buffer)操作就会返回-1。这样while循环就不会无限执行下去啦。
3.output输出流已经和你定义的file形成了关连,所以output.write(buffer)操作会把刚才读取之后保存到buffer中的数据写到文件中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左手西阳
2010-08-30 · TA获得超过5722个赞
知道大有可为答主
回答量:4835
采纳率:37%
帮助的人:2477万
展开全部
你的input输入流都没有初始化。
文件输出流有一个方法就是以byte[]为参数。整个while循环的意思就是先用输入流读内容,装满buffer数组,然后将这些内容写到输出流里。输出流是文件输出流,也就是间接地写到了指定的文件里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5fc8254
2010-08-30 · 超过21用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
你的input中该有东西吧?你代码里是没有的啊,
read(byte[] buffer)的意思:从输入流中读取一定数量的字节,并将其存储在缓冲区数组 buffer 中。这里读取的是原来那个文件里东西,并存储到buffer这个数组中。!=-1是当读取不到数据时就返回-1
output.writer(byte[] buffer) 将 b.length 个字节从指定的 byte 数组写入此输出流。
你要明白一点就是,这里的input不是说往指定文件里写东西,而是从源文件那里拿东西,output是往指定文件里放东西。这里有点不好理解。inputStream建立一个输入流,是指从指定文件那里输入到缓存,这里就是buffer数组,outputStream输出流是指把缓存的数据存储到指定文件里,
如果还有什么疑问可以补充问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式