Java IO 创建/追加文件

Tao*_*itz 1 java file-io file

我试图创建一个文件,如果它不存在,如果它存在则追加到它。这是最好的方法吗?我个人不确定在一个方法中包含两个 try catch 是否好?

   public static void main(String [] args)
    {
        String fileLocation = "/temp/";
        String name = "Bob";
        String timeStamp = "1988-03-15";
        Path path = Paths.get(fileLocation+ "info.log");

        if(!Files.exists(path)){
            try {
                Files.createFile(path);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8, StandardOpenOption.APPEND)) {
            SimpleDateFormat tTimeFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss:SSS");
            writer.write(tTimeFormatter.format(System.currentTimeMillis()) + " name: " + name + " Timestamp: "+ timeStamp);
            writer.newLine();
        } catch (IOException e) {
          System.out.print(e.getStackTrace());
        }
    }
Run Code Online (Sandbox Code Playgroud)

eg0*_*t3r 5

您可以使用 StandardOpenOptions 写入文件:CREATE 和 APPEND。

Files.write(Paths.get(""), new byte[] {}, StandardOpenOption.CREATE, StandardOpenOption.APPEND);
Run Code Online (Sandbox Code Playgroud)

CREATE - 意味着如果文件不存在,它会创建新文件,否则会存在。APPEND - 表示将新数据附加到文件中的现有内容。

因此,您可以用一行完成所有操作。