日期:2014-05-20 浏览次数:20897 次
public class BufferedStream {
public static void main(String[] args) throws IOException {
FileReader fs=new FileReader("f:\\myjavacode\\Exa.java");
BufferedReader bs=new BufferedReader(fs);
while(bs.readLine()!=null){
String s=bs.readLine();
System.out.println(s);
}
}
}
while((string=bs.readLine())!=null){
System.out.println(string);
}
------解决方案--------------------
while(bs.readLine()!=null){
String s=bs.readLine();
System.out.println(s);
}
是这样的当执行bs.readLine()!=null时
bs.readLine();的返回值是文章第一行字符
String s=bs.readLine();很显然到这句readLIne();方法已调用两次,s值为文章第二行。所以就出现了不想看到的结果。
楼主这样改:
public class BufferedStream {
public static void main(String[] args) throws IOException {
FileReader fs=new FileReader("f:\\myjavacode\\Exa.java");
BufferedReader bs=new BufferedReader(fs);
String s = "";
while ((s = bs.readLine()) != null) {
System.out.println(s);
}
}
}