如何在Java中向文件添加内容

时间:2019-03-01 17:46:20

标签: java arrays arraylist

public static void main(String args[]) {
        decode E = new decode();
        String input = "apple";
       encode output  = E.compute(input);
        System.out.println("input decoded :" +E.d_decode(output))
}

嗨,我希望将输出打印到文件中,而不是将其打印到控制台。我怎么做?我希望在运行时创建文件。我的意思是我不将输出添加到已创建的文件中

请耐心等待,因为我是Java新手

1 个答案:

答案 0 :(得分:1)

您可以使用Java 7中提供的java.nio.file.Files在运行时将内容写入文件。如果提供正确的路径,也会创建该文件,也可以设置首选的编码。

JAVA 7 +

根据@Ivan的建议编辑

您可以使用PrintWriterBufferedWriterFileUtils等。有很多方法。我正在与Files

分享一个示例
String encodedString = "some higly secret text";
Path filePath = Paths.get("file.txt");
try {
    Files.write(filePath, encodedString, Charset.forName("UTF-8"));
} catch (IOException e) {
    e.printStackTrace();
    System.out.println("unable to write to file, reason"+e.getMessage());
}
  

要写多行

List<String> linesToWrite = new ArrayList<>();
linesToWrite.add("encodedString 1");
linesToWrite.add("encodedString 2");
linesToWrite.add("encodedString 3");
Path filePath = Paths.get("file.txt");
try {
    Files.write(filePath, linesToWrite, Charset.forName("UTF-8"));
} catch (IOException e) {
    e.printStackTrace();
    System.out.println("unable to write to file, reason"+e.getMessage());
}

还有一百万种其他方法,但我认为从一开始就很好,因为它很简单。

在Java 7之前

PrintWriter writer = null;
String encodedString = "some higly secret 
try {
    writer = new PrintWriter("file.txt", "UTF-8");
    writer.println(encodedString);
    // to write multiple: writer.println("new line")
} catch (FileNotFoundException | UnsupportedEncodingException e) {
    e.printStackTrace();
}  finally {
    writer.close();
}