2016-05-17 73 views
-1

我想寫入文件。但在編寫之前,我想檢查文件中是否存在該內容。如果內容存在,則不要添加它;如果不是,則添加。我怎樣才能在Java中做到這一點?將內容添加到文件中,如果已經存在,則不要添加

我的代碼是這樣的:在您嘗試讀取文件的內容的方式

bufferedReader = new BufferedReader(new FileReader(filePath)); 

while (bufferedReader.readLine() != null) { 
    System.out.println(bufferedReader.readLine() +":" + orphan); 
    if(bufferedReader.readLine().equals(orphan)){ 
     System.out.println("Matched =============="); 
     check = true ; 
     break; 
    } 
} 

if(check != true) { 
    System.out.println("writting the value "); 
    bufferedWriter = new BufferedWriter(new FileWriter(filePath, true)); 
    bufferedWriter.write(orphan); 
    bufferedWriter.newLine(); 
    bufferedWriter.close(); 
} 
+2

寫入之前,只需閱讀文件。檢查內容是否與要添加到文件中的內容相似。如果不是,請寫入文件。 –

+3

我會從研究開始,然後轉向嘗試和錯誤。 –

+0

再來這些要求..什麼類型的文件?什麼格式的文件?你在哪個部分代碼中遇到問題? –

回答

0

問題奠定。

while (bufferedReader.readLine() != null) { // read line n 
    System.out.println(bufferedReader.readLine() +":" + orphan); // read line n + 1 
    if(bufferedReader.readLine().equals(orphan)){ // read line n + 2 
     System.out.println("Matched =============="); 
     check = true ; 
     break; 
    } 
} 

每次調用bufferedReader.readLine()時,它都會讀取下一行。 你的代碼應該看起來像這樣(未經測試!):

String input = bufferedReader.readLine(); // read line n 
while (input != null) { 
    System.out.println(input +":" + orphan); 
    if(input.equals(orphan)){ 
     System.out.println("Matched =============="); 
     check = true ; 
     break; 
    } 
    input = bufferedReader.readLine(); // read line n+1 
} 
相關問題