将字符串写入多个txt文件

时间:2014-05-19 12:13:51

标签: 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 = content.getBytes();

    foutput.write(c);
    foutput.flush();
    foutput.close();

我想在Jbutton中使用此代码,因此每次用户单击它时,它都会将字符串写入新文本文件,而不是覆盖现有文件。我试着做但我无法得到结果。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以通过几种不同的方式获得此结果,这实际上取决于应用程序。最简单的两种方法是:

  1. 将当前时间戳附加到文件名
  2. 使用File API在目录中创建“临时文件”,保证其具有唯一名称
  3. 选项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...
    

答案 1 :(得分:0)

如果要将其写入新文件,则必须创建新文件。在您的情况下,文本文件的名称始终为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.txtfile1.txt等。