簡體   English   中英

在Java中讀取文件時獲得相同的內容

[英]same content is getting while reading a file in java

我創建了一個FileReader對象。

public String getFileContent(){

   StringBuilder filecontent= new StringBuilder();

   FileReader fileReader =  new FileReader("D:/myfile");

   BufferedReader bufferedReader = new BufferedReader(fileReader);


   while((line = bufferedReader.readLine()) != null) {

      filecontent.append(bufferedReader.readLine());

   }    

   return filecontent.toString;
}

我面臨的問題是,即使文件內容已更改,該函數也始終返回相同的字符串。

有人幫忙嗎???

由於將變量line存儲到該變量中,因此請追加該變量line 問題是您兩次調用readline()

像這樣:

while((line = bufferedReader.readLine()) != null) { 
      filecontent.append(line); 
 }  

您已經收到了答案,但是似乎可以在Java 8中更好地實現您正在做的事情:

Path filePath = Paths.get("D:/myfile");
byte[] fileBytes = Files.readAllBytes(filePath);
Charset fileEncoding = StandardCharsets.UTF_8;
String fileContents = new String(fileBytes, fileEncoding);

如果您使用的不是Java 8,則可以使用Apache Commons IO的FileUtils來獲取String

File file = new File("D:/myfile");
String fileContents = FileUtils.readFileToString(file);

我的建議是盡可能利用JDK和現有庫。 它導致更干凈的代碼,更易於維護。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM