使用Java检查Windows/Unix中是否存在Dir
由于Unix只读取文件夹结构的“/”,而windows同时读取“\”、“/”。有没有办法检查Java中是否存在这两种结构的目录? 如果文件夹结构有“\”并且我们使用-->'f.isDirectory()”,则Unix不会读取文件夹结构。使用Java检查Windows/Unix中是否存在Dir,java,linux,windows,Java,Linux,Windows,由于Unix只读取文件夹结构的“/”,而windows同时读取“\”、“/”。有没有办法检查Java中是否存在这两种结构的目录? 如果文件夹结构有“\”并且我们使用-->'f.isDirectory()”,则Unix不会读取文件夹结构。 提前感谢。我找到了这篇文章,它提到了Linux和Windows之间的区别,以及如何用File.separator修复它 您可以从java.nio.file查看API的使用: Path rootDirectory = Path.of(System.getPrope
提前感谢。我找到了这篇文章,它提到了Linux和Windows之间的区别,以及如何用File.separator修复它
您可以从
java.nio.file
查看API的使用:
Path rootDirectory = Path.of(System.getProperty("user.home")); // Let's say /home/noobie
Path subDirectory = rootDirectory.resolve("sub"); // home/noobie/sub
Path subSubDirectory = subDirectory.resolve("subsub"); // /home/noobie/sub/subsub
Path subSubDirectoryMethod2 = rootDirectory.resolve("sub").resolve("subsub"); // /home/noobie/sub/subsub
无论平台如何,此API都可以工作。要检查路径是否为目录,可以执行以下操作:
boolean isDir = Files.isDirectory(path);
这回答了你的问题吗?不,它没有真正的帮助,无论如何谢谢“如果文件夹结构有\…”。在您尝试之前,请确保它没有。例如,通过转换它们。@Kayaman-我试图解压一个包含文件夹的文件,这些文件以“\”分隔,因此它在windows中解压良好,而不是在windows中解压Unix@Noobiezip文件与平台无关。如果由于路径分隔符的原因,您设法在zip文件中产生了问题,那么您所做的事情比它需要的更复杂,而且是错误的。