- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这段代码有问题。即我收到消息:
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 2: [E:\Temp\564\324\123.txt]
public static void main(String[] args) throws Exception{
Path sourseFile = Paths.get("E:\\Temp");
Path[] result = searchFile(sourseFile, "123");
for (Path path : result) {
System.out.println(path);
}
}
public static Path[] searchFile (Path path, String fileName)throws Exception{
DirectoryStream<Path> dirStream = Files.newDirectoryStream(path);
ArrayList<Path> temp = new ArrayList<>();
for (Path s : dirStream) {
if (s.toFile().isDirectory()){
temp.add(Paths.get(Arrays.toString(searchFile(s, fileName))));
}
else {
if (s.toAbsolutePath().toString().contains(fileName)){
temp.add(s.toAbsolutePath());
}
}
}
return temp.toArray(Path[]::new);
}
完整追踪
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 2: [E:\Temp\564\324\123.txt] at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92) at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229) at java.base/java.nio.file.Path.of(Path.java:147) at java.base/java.nio.file.Paths.get(Paths.java:69) at s09.Task1.searchFile(Task1.java:28) at s09.Task1.searchFile(Task1.java:28) at s09.Task1.main(Task1.java:13)
最佳答案
您似乎将字符串“[E:...]”(包括由 Arrays.toString 添加的周围方括号)传递给 Paths.get。这随后被解释为普通文件名,其中“:”字符确实是非法的。
关于java - 为什么我得到这个 InvalidPathException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56736003/
这段代码有问题。即我收到消息: Exception in thread "main" java.nio.file.InvalidPathException: Illegal char at inde
我正在尝试使用 java 语句在 ubuntu 机器上复制文件 Files.copy(new File("/tmp/source/测试.xlsx").toPath(), new File("/tmp/
我正在使用 JsonPath,并且能够在提供的路径正确时解析我的数据并获取值。 但是,当我提供不正确的路径(用户输入)时,程序将终止。我不希望这种事发生。我是否可以捕获此异常并继续执行后续步骤? tr
我正在制作一个我的世界服务器...并且我遇到了 IllegalChar 错误这是日志: Exception in thread "main" java.nio.file.InvalidPathExce
我最近将Android Studio更新为v 2.2 Preview5。在尝试运行我的一个项目时,我遇到了2个错误。 更新后 java.nio.file.InvalidPathException(当我
我正在使用此代码 String path = getClass().getResource("Template.xls").getPath(); 当我在我的机器(Windows)上运行它时,一切都
问题是 AS 无法识别路径中的西里尔字符。 InvalidPathException: Illegal char at index 9: C:\Users\??????\.android\avd\s
我必须将类路径资源从一个包复制到另一个包。 我的程序是: public static void main(String[] args) throws IOException, URISynta
在我的mockito测试用例中,我使用下面的代码片段, this.mockMvc.perform(get(myURL + myId).param("mock", "false").param("fil
当我使用 Paths.get() 创建目录时遇到以下异常。 java.nio.file.InvalidPathException: Illegal char at index 2: /C:/User
当我尝试从 5.3.9 升级到 Magnolia 5.4 或从官方网站下载带有 tomcat 的 Magnolia bundle 并运行它时,在发布/取消发布时我收到: Exception in th
我有两行代码: File file = new File("report_はな.html"); Path path = Paths.get(file.getCanonicalPath()); 无论如何
我在 android app bundle 中遇到了这个问题。我已经成功地从 android studio 3.4.2 创建了 android app bundle,现在我想使用 bundletool
我正在想办法解决我的问题。我正在使用 java.nio。当我在 Linux 环境中执行 Paths.get("/","/").toString() 时,它工作正常,因为它是基于 Linux 的路径。但
我正在尝试从 Spring 4.x 升级到 Spring 5.x,但遇到一个问题。我在META-INF\spring\abc\中有多个spring xml配置文件目录。在 META-INF\sprin
我正在尝试创建一些目录,这些目录具有国家符号,如“äöü”等。不幸的是,每当尝试这样做时,我都会收到此异常: java.nio.file.InvalidPathException: Malformed
我正在使用谷歌闭包编译器来格式化我的网络项目中的许多JavaScript文件。因此我正在编写一个Java应用程序来遍历根目录下的所有js文件。出于测试目的,我仅尝试使用单个 javascript 文件
这个问题已经有答案了: java.nio.file.InvalidPathException: Illegal char at index 2: (8 个回答) 已关闭 4 年前。 在发送带有附件的
我是一名优秀的程序员,十分优秀!