在该程序中,您将学习将Java文本追加到现有文件的各种技巧。
在将文本追加到现有文件之前,我们假设在src文件夹中有一个名为test.txt的文件。
这是test.txt的内容
This is a Test file.
示例1:将文本追加到现有文件
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; public class AppendFile { public static void main(String[] args) { String path = System.getProperty("user.dir") + "\\src\\test.txt"; String text = "Added text"; try { Files.write(Paths.get(path), text.getBytes(), StandardOpenOption.APPEND); } catch (IOException e) { } } }
运行程序时,test.txt文件现在包含:
This is a Test file.Added text
在上面的程序中,我们使用System的user.dir属性来获取存储在变量中的当前目录path。检查Java程序以获取当前目录以获取更多信息。
同样,要添加的文本也存储在变量text中。然后,在一个try-catch块内,我们使用Files的write()方法将文本追加到现有文件中。
write()方法采用给定文件的路径,写入文件的文本以及应如何打开文件进行写入。 在我们的实例中,我们使用APPEND选项进行写入
由于write()方法可能返回IOException,因此我们使用了一个try-catch块来正确捕获异常。
示例2:使用FileWriter将文本追加到现有文件
import java.io.FileWriter; import java.io.IOException; public class AppendFile { public static void main(String[] args) { String path = System.getProperty("user.dir") + "\\src\\test.txt"; String text = "Added text"; try { FileWriter fw = new FileWriter(path, true); fw.write(text); fw.close(); } catch(IOException e) { } } }
该程序的输出与示例1相同。
在上述程序中,我们使用FileWriter的实例(对象)代替文本(而不是使用write()方法)将文本追加到现有文件中
在创建FileWriter对象时,我们传递文件的路径,并将true作为第二个参数。 true表示我们允许附加文件
然后,我们使用write()方法追加给定的文本并关闭文件写入器