程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 代碼-緩存流的問題,新手求解答

代碼-緩存流的問題,新手求解答

編輯:編程綜合問答
緩存流的問題,新手求解答

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會出現錯誤

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved