如何将文本追加到Java中的现有文件

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

如果是否为了记录log的目的而这样做,有几个库。其中两种最受欢迎​​的是Log4j和Logback。

Java 7+, 将文本追加到Java中的现有文件

如果你只需要这样做一次,Files类可以简化这个过程:

try {
    Files.write(Paths.get("myfile.txt"), "append text".getBytes(), StandardOpenOption.APPEND);
}catch (IOException e) {
    //exception handling left as an exercise for the reader
}

小心:如果文件不存在,上述方法将抛出一个NoSuchFileException。它也不会自动附加一个换行符(要自己添加换行符)。

但是,如果您要多次写入同一个文件,上面必须多次打开和关闭磁盘上的文件,会是一个缓慢的操作。如果是这种情况下,下面的例子会比较好:

try(FileWriter fw = new FileWriter("myfile.txt", true);
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter out = new PrintWriter(bw))
{
    out.println("the text");
    //more code
    out.println("more text");
    //more code
} catch (IOException e) {
    //exception handling left as an exercise for the reader
}注意:
  • FileWriter构造函数的第二个参数会告诉它附加到文件,而不是写入新文件。(如果文件不存在,它将被创建。)
  • 对于BufferedWriter,建议使用FileWriter 。

Java7以下的,将文本追加到Java中的现有文件

try {
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("myfile.txt", true)));
    out.println("the text");
    out.close();
} catch (IOException e) {
    //exception handling left as an exercise for the reader
}

异常处理

如果您需要针对较旧Java的强大异常处理,它会变得非常冗长:

FileWriter fw = null;
BufferedWriter bw = null;
PrintWriter out = null;
try {
    fw = new FileWriter("myfile.txt", true);
    bw = new BufferedWriter(fw);
    out = new PrintWriter(bw);
    out.println("the text");
    out.close();
} catch (IOException e) {
    //exception handling left as an exercise for the reader
}
finally {
    try {
        if(out != null)
            out.close();
    } catch (IOException e) {
        //exception handling left as an exercise for the reader
    }
    try {
        if(bw != null)
            bw.close();
    } catch (IOException e) {
        //exception handling left as an exercise for the reader
    }
    try {
        if(fw != null)
            fw.close();
    } catch (IOException e) {
        //exception handling left as an exercise for the reader
    }
}

本文来自:如何将文本追加到Java中的现有文件

  •   本文标题:如何将文本追加到Java中的现有文件 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/3583.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注