有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在程序运行时在文件中写入完整内容,但每次代码运行时都创建新文件

每次程序运行时,我的代码都会写入8-10个字符串,但当我的程序第二次运行时,它不会创建新文件,而是在同一文件中添加新数据,因为文件大小正在增加。我的代码如下:

File file=new File("user. txt") ;
Printwriter pw=new PrintWriter(new BufferedWriter(new FileWriter(file. getAbsoluteFile(), true) ) ;

我知道true意味着添加内容。但当我从代码中删除true时,它会覆盖文件中的内容,只向文件中写入最后一个字符串。我希望每次代码运行时都创建一个新文件,但每次代码运行时都需要完整的数据,而不仅仅是最后一个字符串


共 (1) 个答案

  1. # 1 楼答案

    正如我在评论中所说,问题是,您总是使用相同的文件名。如果你想要一个新文件,你需要一个不同的文件名

    可以在文件名中使用时间戳,例如:

    String filename = LocalDateTime.now() + ".txt";
    File file=new File(filename) ;
    Printwriter pw=new PrintWriter(new BufferedWriter(new FileWriter(file. getAbsoluteFile(), true) ) ;
    

    或者,每次程序运行时,您都可以想出一种不同的方法使文件名唯一