2012-02-23 69 views
2

我正在制作一个程序,用于将行输出到文本文件。我不想覆盖该文件,但这是我目前的代码所做的。我只想减少已经存在的行数并写入hello。这里是我的代码:如何在写入txt文件时跳过多行代码

FileWriter fileWriter = new FileWriter(fileLocation, false); 
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); 

while(numberOfLines > compareToNumOfLines) { 
    bufferedWriter.newLine(); 
    compareToNumOfLines++; 
} 

bufferedWriter.write("hello"); 
bufferedWriter.close(); 

不幸的是,这只是创建文本过去的空间。我究竟做错了什么?

+1

请注意,文件系统通常不支持在随机位置编辑文件;你不能去行号N,例如在那里插入一个新行(或覆盖现有行N)。但是,您可以将数据追加到现有文件的末尾。 – Jesper 2012-02-23 15:19:19

回答

8

变化

FileWriter fileWriter = new FileWriter(fileLocation, false); 

FileWriter fileWriter = new FileWriter(fileLocation, true); 

正如documentation解释,第二个参数是,如果你想文本追加或覆盖它指定一个布尔值。

+0

太快了:P +1 – 2012-02-23 15:18:15

+0

I LOVE U SOOOO MUCH!谢谢bro – PulsePanda 2012-02-23 18:17:51

+0

@wbAnon ahah不客气。 – talnicolas 2012-02-23 18:19:05

0

如果您想将文本附加到现有文件,则以附加模式打开该文件。如果你想随机写入文件,那么你可以使用RandomAccessFile类。