最后,我找到了解决方案:
final String path = "sample/folder";final File jarFile = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath());if(jarFile.isFile()) { // Run with JAR file final JarFile jar = new JarFile(jarFile); final Enumeration<JarEntry> entries = jar.entries(); //gives ALL entries in jar while(entries.hasMoreElements()) { final String name = entries.nextElement().getName(); if (name.startsWith(path + "/")) { //filter according to the path System.out.println(name); } } jar.close();} else { // Run with IDE final URL url = Launcher.class.getResource("/" + path); if (url != null) { try { final File apps = new File(url.toURI()); for (File app : apps.listFiles()) { System.out.println(app); } } catch (URISyntaxException ex) { // never happens } }}第二个块仅在IDE上运行应用程序时有效(不适用于jar文件),如果不喜欢,可以将其删除。



