Java 为什么我能';t使用.jar文件中的URL路径来检测它是否';什么是目录?

Java 为什么我能';t使用.jar文件中的URL路径来检测它是否';什么是目录?,java,jar,Java,Jar,对不起我的英语 我的目标是获取.jar文件的资源文件夹中的目录。 通过使用ZipInputStream(以ZIP格式打开.jar文件),我能够做到这一点。但仔细想想,我必须遍历.jar中的几乎所有文件,并获取我想要的内容 即使在得到我想要的东西之后,我也不能停止循环,直到它没有元素可以迭代 因此,我尝试通过路径直接获取目录,如下所示: URL=getClass().getResource(“/”+folderName); JarURLConnection连接=(JarURLConnection

对不起我的英语

我的目标是获取.jar文件的资源文件夹中的目录。

通过使用
ZipInputStream
(以ZIP格式打开.jar文件),我能够做到这一点。但仔细想想,我必须遍历.jar中的几乎所有文件,并获取我想要的内容

即使在得到我想要的东西之后,我也不能停止循环,直到它没有元素可以迭代

因此,我尝试通过路径直接获取目录,如下所示:

URL=getClass().getResource(“/”+folderName);
JarURLConnection连接=(JarURLConnection)url.openConnection();
System.out.println(“url:+url”);//jar:file:/C:/folder/test.jar/迪尔
File File=新文件(connection.getJarFileURL().toURI());
System.out.println(file.isDirectory());//假的
通过使用
URL
URI
,我尝试了许多其他方法,
文件.isDirectory()
总是给我false,它不会被识别为文件夹


有什么解决办法吗?谢谢你

Java
File
只能访问真实的文件或目录,而不能访问jar条目。Dupe(我的答案)和相关@dave_thompson_085谢谢。通过使用
Files.walk
和您的解决方案,我能够获取文件和目录。但是我可以从
文件中提取路径为
的文件吗?解决方案中的
文件.list
仅列出目录。