请问java输入流中当文件大于byte数组长度的时候,该如何循环读取?

如这个程序,假设我要读取的文件超过1KB了,我要如何每次读1KB,然后读完整个文件,使用read的返回值不为-1的话,这个while循环该放在哪?谢谢... 如这个程序,假设我要读取的文件超过1KB了,我要如何每次读1KB,然后读完整个文件,使用read的返回值不为-1的话,这个while循环该放在哪?谢谢 展开
 我来答
知道小小白
2019-04-04 · TA获得超过543个赞
知道小有建树答主
回答量:909
采纳率:70%
帮助的人:307万
展开全部
byte[] data = new byte[1024];
int len = fis.read(data);
//循环将文件fileText.txt中的内容读取到字节数组中
StringBuilder sb = new StringBuilder();
sb.append(new String(data, 0, len));
while (len != -1) {
    len = fis.read(data);
    if (len != -1) {
        sb.append(new String(data, 0, len));
    }
}
System.out.println(sb);
虞姬戏项羽
2019-04-04 · TA获得超过952个赞
知道小有建树答主
回答量:959
采纳率:58%
帮助的人:146万
展开全部
read()方法返回参数是int型变量 等于-1就代表已经读完了不等于就,循环读
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式