[英]NoSuchFileException when using java.nio.file.Files.createTempDirectory
嘗試使用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");
}
}
當我這樣做時,盡管根路徑顯然已成功創建,但我在調用“ 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目錄中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.