当前位置: 首页 > 知识库问答 >
问题:

Repast:如何覆盖现有文件而不是在文本接收器中自动创建新文件

葛承教
2023-03-14

我想知道如何覆盖现有文件,而不是在文本接收器中自动创建新文件。

例如,如果我运行模型两次,它会创建两个文件。第二个文件是使用相同的定义文件名创建的,但名称后面有一个新数字,例如modelouput.txt、modeloutput.0.txt、modeloutput.1.txt.

如何摆脱这种自动创建版本号的方式,如果现有版本号存在,就直接覆盖它。

共有1个答案

江温书
2023-03-14

Repast GUI FileSink中没有覆盖现有文件的选项,但是您可以只删除代码中的文件。您可以将以下代码添加到您的上下文构建器中,该代码将在运行开始时删除modeloutput.txt文件,以便FileSink将始终只是制作一个具有相同名称的新文件

Path path_to_delete = Paths.get("output", "ModelOutput.txt");

    if (Files.exists(path_to_delete)) try {
        Files.delete(path_to_delete);
    } catch (IOException e) {

        e.printStackTrace();
    }

或者,您可以使用文件。move(existingFilePath,newFilePath)可重命名任何现有输出文件或将其移动到其他文件夹。

 类似资料:
  • 问题内容: 目前,我有一个循环,试图通过在文件名字符串中添加后缀来查找未使用的文件名。一旦找不到文件,它将使用无法以该名称打开新文件的名称。问题在于此代码用于网站中,并且可能多次尝试同时执行同一操作,因此存在竞争条件。 如果在检查时间和另一个线程中的打开时间之间创建了一个文件,如何防止python覆盖现有文件。 我可以通过将后缀随机化来最小化机会,但是根据路径名的各个部分,机会已经被最小化了。我想

  • 然后将这个变量添加到arrayList,我在程序中调用WriteToFile()方法。 AddBookDialog类的代码 WriteFile类的代码 相反,当我尝试向该文件写入另一本书时,它反而覆盖了第一行 哈姆雷特:威廉莎士比亚:企鹅:FIC Shak:23 //《哈利·波特》的书中详细内容已被改写

  • 问题内容: 我正在尝试编写一种方法(如果尚不存在),然后制作一个“ log.txt文件”,然后将其写入该文件。我遇到的问题是每次调用该方法时,它都会覆盖现有的日志。如何更改方法,以使它不会覆盖数据而是仅更新文件? 我的写入文件方法: 问题答案: 只需更改为

  • 问题内容: 我想知道是否可以创建多个具有相似名称的文件,而不会覆盖当前文件。 例如:如果我有一个文件:下次创建时xyz.txt应该是:xyz(1).txt 因此,如果我重新运行该程序,则当前文件不会被覆盖。我已经尝试过,如果带有标志变量的条件将数字添加为文件名的前缀。 我想知道是否有任何Java命令来避免覆盖现有文件。 问题答案: 我想知道是否有任何本地Java命令停止覆盖[并将数字添加到文件名中

  • 有人知道是否有一种简单的方法可以根据模型中的一个字段使文件接收器的文件名元素路径成为变量吗?因此,而不是使用修复路径,例如: 修复了路径/文件名。csv {variable_path}/filename。csv

  • 问题内容: 我正在尝试从文本文件中删除一行文本,而不将其复制到临时文件中。我正在尝试通过使用Printwriter和Scanner并让它们同时遍历文件来实现此目的,writer写Scanner读取的内容并用相同的东西覆盖每一行,直到到达我希望的行为止删除。然后,我前进扫描仪而不是写程序,然后像以前一样继续。这是代码: 但首先要使用参数:我的文件名是数字,因此它将显示为1.txt或2.txt等,因此