import java.io.*;
public class Student {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] content={"好久不見","你好嗎","常聯系"};
File file=new File("word.txt");
try{
FileWriter fw=new FileWriter(file);
BufferedWriter bufw=new BufferedWriter(fw);
for(int k=0;k<content.length;k++){
bufw.write(content[k]);
bufw.newLine();
}
bufw.close();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
try{
FileReader fr=new FileReader(file);
BufferedReader bufr=new BufferedReader(fr);
int i=0;
String s=null;
while((s=bufr.readLine())!=null){
i++;
System.out.println("第"+i+"行:"+s);
}
bufr.close();
fr.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
這段代碼中的while語句中,()裡的判斷如果改成bufr.readLine()!=null,或者輸出改成System.out.println("第"+i+"行:"+bufr.readLine());輸出都會有錯,這是為什麼啊。。。。新手求解答
while(bufr.readLine()!=null){
i++;
System.out.println("第"+i+"行:"+bufr.readLine());
}
你是問這種意思嗎?
如果是的話,顯然是錯的,
這樣等於一次循環讀取兩次,
while()讀取一次到文件結尾,那麼循環體裡的read會出現錯誤