2015-05-03 147 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