Java 将字符串写入多个txt文件

Java 将字符串写入多个txt文件,java,swing,Java,Swing,以下代码将字符串写入特定文件 String content = "Text To be written on a File"; File file = new File("c:/file.txt"); FileOutputStream foutput = new FileOutputStream(file); if (!file.exists()) { file.createNewFile(); } byte[] c = conten

以下代码将字符串写入特定文件

String content = "Text To be written on a File";

    File file = new File("c:/file.txt");
    FileOutputStream foutput = new FileOutputStream(file);

    if (!file.exists()) {
        file.createNewFile();
    }

    byte[] c = content.getBytes();

    foutput.write(c);
    foutput.flush();
    foutput.close();
我想在Jbutton中使用这段代码,这样每当用户单击它时,它都会将字符串写入一个新的文本文件,而不会覆盖现有的文本文件。我试着去做,但没有得到结果


提前谢谢。

如果要将其写入新文件,必须创建一个新文件。在您的案例中,文本文件的名称始终为
file.txt

试试这个:

private int filecounter = 0; // this is the member of your class. Outside the function.

//inside your function
File file = new File("c:/file" + Integer.(filecounter).toString() + ".txt");
// you do something here.
filecounter++;

这样,您的文件将存储为
file0.txt
file1.txt
等。

有几种不同的方法可以获得此结果,这取决于应用程序。最简单的两种方法是:

  • 将当前时间戳附加到文件名
  • 使用
    文件
    API在目录中创建一个“临时文件”,该文件保证具有唯一的名称
  • 备选案文1:

    String baseDir = "c:/";
    File newFile = new File(baseDir, "file_" + System.currentTimeMillis() + ".txt");
    // do file IO logic here...
    
    备选案文2:

    String baseDir = "c:/";
    File newFile = File.createTempFile("file", ".txt", new File(baseDir));
    // do file IO logic here...
    

    谢谢你的回复。谢谢你的回答。太棒了