【问题标题】:Program that creates a file, writes on it, but when program runs a second time it overwrites the file创建文件的程序,在其上写入,但当程序第二次运行时,它会覆盖文件
【发布时间】:2018-10-16 07:30:49
【问题描述】:

我在处理中有一个非常简单的代码,它创建了一个名为 data.txt 的空文件并在上面写入。当我终止程序时,文件与数据一起存在,但是当我再次运行程序时,程序会重新创建一个空文件并删除之前创建的文件。

PrintWriter output;

int i = 0;

void setup()
{

  output = createWriter("data.txt");
}

void draw()
{
  if (keyPressed)
  {
    if (key == 'o')
    {
      output.println(i++);

      System.out.println("Program is writing: " + i);
    }
    else if (key == 'p')
    {
      output.flush();
      output.close();
    }
  } else {} 
}

有没有办法告诉Processing如果它不退出就创建文件,如果它退出就不要这样做?我正在制作一个小型视频游戏,我需要一种存储分数的方法。

【问题讨论】:

    标签: file processing overwrite writing


    【解决方案1】:

    如果文件已经存在,你希望发生什么?程序应该读入数据,还是将数据附加到文件末尾,还是其他?

    请记住,Processing 是 Java,因此如果您在 Processing reference 中找不到任何内容,您可以在 Google 上搜索“java 检查文件是否存在”或“java 附加到文件末尾”之类的内容以了解如何操作它在 Java 中。

    【讨论】:

    • 我想将数据写入(不附加)到文件中,并保存它,这样当我关闭程序并再次运行它时,我可以从该文件中读取数据。我的问题是每次我运行程序时都会创建文件,这是一个问题,因为当我在文件上写入并关闭程序并再次运行它时,它会再次创建文件,并用空文件覆盖先前创建的文件,在我可以读取之前丢失我的数据。 “Java 方式”实际上是我的第一种方法,但我在处理异常时遇到了麻烦。
    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    相关资源
    最近更新 更多