在一次读取文件的写法中,逐行
Java代码
- int c;
- while((c = br.read()) != -1){
- String s = br.readLine();
- rtString.append ;
- }
在第一次执行的时候已经读了一个字符出来,然后光标就会后移一位
接下来的循环中s=br.readLine();读到的就只是后续的字符串了,因此会少一个字符、
后来看到有人说修改为如下代码:
Java代码
- for(String line = br.readLine(); line != null; line = br.readLine()) {
- System.out.println(line);
- }
结果发现最后一个字符又读取不到了
这个是不正确的,上面这段代码是可以读取最后一行字符的!
修改为:
Java代码
- String instring;
-
- while ( (instring = br.readLine()) != null) {
- if(instring != null )
- {
- System.out.println(instring);
- }
-
- }
这样每行都可以读取到了
或者用这样的写法:
Java代码
- while (br.ready()) {
- myreadline = br.readLine();
- rtString=rtString+myreadline;
- }
|