2014-01-14 192 views
-1
BufferedReader input = new BufferedReader (new FileReader("data.txt")); //Reading the file 
String data [] = readFile (input); //data is each line in the file 
String student [] = new String [10]; 
for(int x = 0; x<data.length; x++) 
    {     
    student = data[x].split(","); //each line is being split into 11 parts 
    } 

我需要寫入此文件而不覆蓋它。我問10個問題,如「你的名字是什麼?」和「你的姓氏是什麼?」。我需要這些問題的答案進入學生[]。就像我說的,我需要代碼寫入這個文件而不覆蓋它。如何在不覆蓋java的情況下寫入文件?

+1

我看到在這個代碼輸入,但沒有輸出。你打算如何在沒有任何輸出的情況下寫入文件? – Tdorno

+0

您可以*追加*(關鍵字)到文件而不覆蓋它。 – user2864740

+0

我認爲「追加」是你正在尋找的單詞,它需要在特定模式下打開文件,並觀察一些關於如何引用它的限制。 –

回答

2
PrintWriter out = null; 
try { 

out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", 

true))); 
    out.println("the text"); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
finally { 
    if (out != null) { 
    out.close(); 
    } 
} 

FileWriter構造函數的第二個參數會告訴它追加到文件(而不是清除文件)。

+2

+1請在finally中使用'try-with-resources'或'close()',永遠不要空抓catch'做一些日誌或類似的東西:) – nachokk

+0

@nachokk你是絕對正確的,我抄的SO代碼是隻是粘貼而不改變。我修改了答案。 –

+1

*「我抄錄的SO代碼」* ...您的意思是,其他人的回答是否應該被標記爲dup? –

相關問題