java - 创建临时文件时出现IOException?

标签 java ioexception bamboo temporary-files

我正在为 Atlassian Bamboo 创建一个任务插件。在任务执行的某个时刻,我想创建一个临时文件:

File temp = File.createTempFile(fileName.toString(), null, dir);
temp.deleteOnExit();

,其中:

fileName.toString() = e.g. "C:\Atlassian\bamboo-home\xml-data\build-dir\CMPT-CMPTP-JOB1\test.java"
dir = new File("temp");

在本地测试时,一切正常 - 文件已正确创建。但是,在我在服务器上部署插件并尝试执行上述代码后,我遇到了 IOException:

java.io.IOException: The filename, directory name, or volume label syntax is incorrect
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createTempFile(File.java:1879)

可能是什么原因?

其他信息:我很确定 dir.exists()

最佳答案

文件名

"C:\Atlassian\bamboo-home\xml-data\build-dir\CMPT-CMPTP-JOB1\test.java"

在 Windows 上有效,但在 Unix 操作系统上无效。您将无法创建这样的(临时)文件,无论是指定为绝对名称/路径或文件,还是仅相对于另一个文件夹。

如果您的操作系统是 Windows,您仍然无法使用完整路径(以 "C:" 等驱动器规范开头)来创建为另一个文件夹的子文件夹。

关于java - 创建临时文件时出现IOException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308155/

相关文章:

java - 创建员工类和员工类演示?

c# - IOException:该进程无法访问文件“文件路径”,因为它正在被另一个进程使用

java - IOException 后重新启动 ServerSocket

ruby-on-rails-3 - 如何使用 Atlassian Bamboo 部署 Ruby on rails 应用程序

c# - 当失败的测试移至隔离区时,防止 Bamboo 失败

java - 使用 Spring Boot(VueJS 和 Axios 前端)获取 Post 403 Forbidden

Java Runnable 访问类的对象

java - Android Firebase 使用地理定位来过滤数据

启动 Jboss 时出现 java.io.FileNotFoundException(文件名、目录名或卷标语法不正确)

svn - 集成使用 svn、Jira 和 Bamboo 的任何最佳实践?