gpt4 book ai didi

java - 使用 java.nio.file.Files.createTempDirectory 时出现 NoSuchFileException

转载 作者:行者123 更新时间:2023-11-30 02:14:12 24 4
gpt4 key购买 nike

尝试使用 java.nio.file.Files.createTempDirectory 创建临时目录时遇到问题。尝试创建目录时,我不断收到 NoSuchFileException。

这是我的代码:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class TempFileTesting {
private static final String ROOT = "/resources/";

public static void main(String[] args) throws Exception{
Path root = Paths.get(ROOT);
Path tempDir = Files.createTempDirectory(root, "dir");
Path tempFile = Files.createTempFile(tempDir, "t1", "t2");
}
}

当我这样做时,尽管 root 路径显然已成功创建,但我在调用“createTempDirectory”的行上收到了 NoSuchFileException。 资源目录确实存在。

StackTrace 看起来像这样:

java.nio.file.NoSuchFileException: \resources\dir170003182480656885
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
at sun.nio.fs.WindowsFileSystemProvider.createDirectory(WindowsFileSystemProvider.java:504)
at java.nio.file.Files.createDirectory(Files.java:674)
at java.nio.file.TempFileHelper.create(TempFileHelper.java:136)
at java.nio.file.TempFileHelper.createTempDirectory(TempFileHelper.java:173)
at java.nio.file.Files.createTempDirectory(Files.java:950)
at filetestingstuff.testers.TempFileTesting.main(TempFileTesting.java:15)

完整路径:“C:\Users\Admin\Desktop\eclipse-oxygen\workspace\FileStuff\resources”

有谁知道为什么会导致此异常发生?我很感激任何建议,无论多么小。

最佳答案

您指定了“/resources/” 作为要在其中创建临时目录的目录的路径。
首先,它不是 Windows 的有效格式。当我测试时,它会在安装 Windows 的驱动器的根目录下创建 temp 目录。

除了你想要的是一个相对路径:"resources"到JVM的工作文件夹,即C:\Users\Admin\Desktop\eclipse-oxygen\workspace\FileStuff 。请注意,不再需要尾随的 /
这样应该可以解决您的问题:

private static final String ROOT = "resources";     

最后,您应该避免使用 C:\Users 等文件夹来包含 Java 源代码。您可能也有正确的问题。
它们应该位于非特定的 Windows 目录中。

关于java - 使用 java.nio.file.Files.createTempDirectory 时出现 NoSuchFileException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49109808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com