当前位置: 首页 > 面试题库 >

如何在Java中创建临时文件而不将随机数附加到文件名中?

松昱
2023-03-14
问题内容

我需要创建一个临时文件,因此尝试了以下操作:

String[] TempFiles = {"c1234c10","c1234c11","c1234c12","c1234c13"};
for (int i = 0; i <= 3; i++) {
    try {
        String tempFile = TempFiles[i]; 
        File temp = File.createTempFile(tempFile, ".xls"); 
        System.out.println("Temp file : " + temp.getAbsolutePath());
    } catch (IOException e) {
        e.printStackTrace();
    }
}

输出是这样的:

 Temp file : C:\Users\MD1000\AppData\Local\Temp\c1234c108415816200650069233.xls
 Temp file : C:\Users\MD1000\AppData\Local\Temp\c1234c113748833645638701089.xls
 Temp file : C:\Users\MD1000\AppData\Local\Temp\c1234c126104766829220422260.xls
 Temp file : C:\Users\MD1000\AppData\Local\Temp\c1234c137493179265536640669.xls

现在,我不希望将多余的数字(长整数)添加到文件名中。我该如何实现?谢谢


问题答案:

首先,使用以下代码段获取系统的临时目录:

String tDir = System.getProperty("java.io.tmpdir");

然后,将tDir变量与tempFiles[]数组一起使用以分别创建每个文件。



 类似资料:
  • 问题内容: 有客观的更好的方法在bash脚本中创建临时文件吗? 我通常只要给他们起名就可以使用它们,例如tempfile-123,因为脚本结束后它将被删除。除了覆盖当前文件夹中可能的tempfile-123之外,这样做是否有其他缺点?还是以更谨慎的方式创建临时文件有什么好处? 问题答案: 该手册页解释了它相当好: 传统上,许多shell脚本使用pid作为后缀来命名程序名称,并将其用作临时文件名。这

  • 问题内容: 我想在日志文件名后附加主机名和日期,因此日志文件名应类似于 app_hostname.date.log 。 注意: 这应该同时在 linux和Windows中 运行 。 以及如何基于日志模式而不是作为添加过滤器。我希望模式匹配。提前致谢 问题答案: 首先从您的Java代码执行此操作, 然后 将log4j配置 到应用程序中, 注意:在执行以下代码时,处理或捕获所需的异常。 更新 : 如果

  • 问题内容: 是否存在在Java应用程序中创建临时目录的标准可靠方法?Java的问题数据库中有一个条目,注释中包含一些代码,但是我想知道在一个常用的库(Apache Commons等)中是否可以找到一种标准的解决方案? 问题答案: 如果你使用的是JDK 7,请使用新的Files.createTempDirectory类创建临时目录。 在JDK 7之前,应该这样做: 如果需要,可以提出更好的异常(IO

  • 问题内容: 在Linux中将文本附加到文件的最简单方法是什么? 我看了这个问题,但是可接受的答案使用了一个附加程序(),我相信应该有一个更简单的方法或类似方法。 问题答案: cat >> filename This is text, perhaps pasted in from some other source. Or else entered at the keyboard, doesn’t

  • 问题内容: 我正在尝试创建一个将条目添加到json文件的函数。最终,我想要一个看起来像 等。这就是我所拥有的: 这确实会创建一个条目,例如。但是,如果我再次使用此函数(使用不同的名称和网址),第一个函数将被覆盖。我需要怎么做才能将第二个(第三个…)条目附加到第一个? 编辑 :对此问题的第一个答案和评论已经指出了我在写块中未使用的明显事实。不过,我看不出该怎么做。例如,以下内容显然不会起作用: 问题

  • 问题 你需要在程序执行时创建一个临时文件或目录,并希望使用完之后可以自动销毁掉。 解决方案 tempfile 模块中有很多的函数可以完成这任务。 为了创建一个匿名的临时文件,可以使用 tempfile.TemporaryFile : from tempfile import TemporaryFile with TemporaryFile('w+t') as f: # Read/writ