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

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();

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-12

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;

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网