繁体   English   中英

从jar文件获取资源(在项目根路径中)

[英]Get Resource (in project root path) from jar file

我想从运行的jar中读取文本文件(input.txt)。

我确实读过很多类似的问题,但是没有一个可以帮助我解决我的特定问题。

文件夹结构是这样的:

D:\\ Users \\ Nathaniel \\ git \\ projectfolder \\ src \\ main \\ java \\ folder1 \\ folder2 \\ files.java

我的input.txt文件在项目文件夹中。

主要方法是files.java。

我确实尝试过各种解决方案:例如:

InputStream is = new FileInputStream("input.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));

要么:

Enumeration<URL> en = getClass().getClassLoader()
                .getResources("");
        List<String> profiles = new ArrayList<>();
        System.out.println("vor while");
        if (en.hasMoreElements()) {
            System.out.println("in while");
            URL url = en.nextElement();
            JarURLConnection urlcon = (JarURLConnection) (url.openConnection());
            try (JarFile jar = urlcon.getJarFile();) {
                Enumeration<JarEntry> entries = jar.entries();
                while (entries.hasMoreElements()) {
                    String entry = entries.nextElement().getName();
                    System.out.println(entry);
                }
            }
        }

当我从eclipse和jar文件运行程序时,有没有可行的解决方案?

您可以将文件放在资源文件夹(src / main / resources)中吗? 这样,您可以使用以下方法进行检索:

BufferedReader reader = 
                new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/input.txt")));
        System.out.println(reader.readLine());
        reader.close();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM