中易网

Java 中 BufferedReader 里 readLine()方法每次只能读一行 能不能一次读到文件结尾??

答案:2  悬赏:10  
解决时间 2021-02-12 19:30
Java 中 BufferedReader 里 readLine()方法每次只能读一行 能不能一次读到文件结尾??
最佳答案
不可以直接读到文件末尾。
readLine顾名思义,每次读取一行,一般用于文件解析。
可以自己封装一个读取到文件末尾的函数。比如:
StringBuffer content= new StringBuffer();
BufferedReader reader = new BufferedReader(in);
int ch;
while ((ch = reader.read()) != -1) {
content.append((char) ch);
}
reader.close();
return content.toString();
全部回答

readLine()方法读出是null,就表示文件结尾了。
这么写,可以一直读到文件结尾:while( (line=readLine())!=null){
    System.out.println(line);
}


完整程序如下:import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferTest {
public static void main(String[] args) {
try {
BufferedReader br=new BufferedReader(new FileReader("test.txt"));
String line=null;
while( (line=br.readLine())!=null){
   System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}追问我是准备在那个while循环里调用一个方法 目的在于 将文件里的所有字符串输入到一个新的string里, 如果这样写,多行的话, 每一次读 都会覆盖前面的内容。 =。= 咋弄?追答那你在循环里用一个新字符串加起来么
newString += line;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
长春哪有买耳机的好去处
克林姆林宫简介
脑包在哪里啊,我有事要去这个地方
台湾明星外号叫大头的是谁
手机贴防辐射膜有信号么?
若a1,a2,…,an是1,2,…,n的任意一个排
昨晚做梦梦到自己右腿膝盖摔了,结了好大一个
康德堂大药房地址在哪,我要去那里办事
电脑蓝屏了,已经有两次了,求大神解释!!!
鼻子上长了个小洞 怎么办 急!!!
工欲善其事。下一句是什么?
有喜欢男人抽烟斗的女人吗?
我的手机是vivoY22L我的微信里有别人给我发的
混凝土合同里面怎么体现绿色施工的内容
按浙江省最新定额,辅材下浮6个点,主材不下浮
推荐资讯
在塑胶场地打篮球选择什么样的球鞋
刘忠窗帘布艺地址在哪,我要去那里办事
怎么免费点亮qq5钻和会员图标
苏福快速路入口(西环快速路方向)地址在什么地
德伏粮油饲料商店地址在什么地方,想过去办事
海马m3如何挽试宽灯泡
泰迪犬我买的泰迪马上4个月了,现在身高22cm
一道关于平行四边形的习题
有没有像大笑江湖之类的歌曲??
北京公共交通总公司的地址在哪里?
威建集团第四建筑公司地址有知道的么?有点事
洗澡时玻璃上有水蒸气时怎么半呢?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?