2015-05-03 61 views
0

我有這種方法需要一個String並將其寫入文件。我將PrintWriter設置爲true,因爲我想保存寫入它的所有數據。Java,寫入標題文件

我想對此文件有標題。我怎樣才能將頭條新聞寫入文件,並且只做一次?

我的方法是這樣的:

public static void writeToFile(String text) { 

    try { 
     File f = new File("test.txt"); 
     FileWriter writer = new FileWriter("test", true); 
     writer.write(text); 


     writer.close(); 
    } catch (IOException ex) { 
     System.out.println(ex.getMessage()); 
    } 
} 
+0

對不起。我的意思是頭條新聞。 –

+0

對不起,我不明白DYM。我只需要在文件頂部打印簡單的文本,如姓名,nuber,日期等,然後我將打印我的數據。 –

回答

0

目前還不清楚您的文件是否有多個標題。假設你的文件只有一個標題,我們可以做到這一點如下 -

1.由於您的文件包含標題只有一次,你可以檢查文件是否被訪問的第一次 -

File f = new File(//your file name); 
if(f.exists() && !f.isDirectory()) { 
    //write heading 
} 

2.如果該文件是第一次訪問,那麼你可以添加一個頭 -

String heading = "Some heading"; 

完整的代碼看起來像 -

public static void writeToFile(String text) { 

    String heading = "Some heading"; 

    try { 
     File f = new File("test.txt"); 
     FileWriter writer = new FileWriter(f, true); 

     if(f.exists() && !f.isDirectory()) { 
      writer.write(heading); 
     } 

     writer.write(text); 

    } catch (IOException ex) { 
     System.out.println(ex.getMessage()); 
    }finally{ 
     writer.close(); 
    } 
} 
+0

這工作,很好,謝謝! –

+0

完整的代碼是否正確?這是檢查文件是否存在打開後寫入,所以我認爲你會發現它始終存在。我錯了嗎? – aalku

0

您可以使用BufferWriter寫一個句子,看看一個更好的方式來處理文件。

try { 

     String content = "This is the content to write into file"; 

     File f = new File("test.txt"); 

     // if file doesnt exists, then create it 
     if (!file.exists()) { 
      file.createNewFile(); 
     } 

     FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
     BufferedWriter bw = new BufferedWriter(fw); 
     bw.write(content); 
     bw.close(); 

     System.out.println("Done"); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    }finally{ 
    writer.close(); 
} 
} 
+0

請編輯,以便'try'格式化。您應該最終關閉文件,就像Razib所做的那樣,無論有沒有例外,它都會關閉。 – aalku