有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我想从我正在运行的jar中读取一个文本文件(input.txt)

我确实读过很多类似的问题,但没有一个能帮助我解决具体问题

文件夹结构如下所示:

D:\Users\Nathaniel\git\projectfolder\src\main\java\folder1\folder2\files。爪哇

我的意见。txt文件位于projectfolder中

主要的方法是文件。爪哇

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

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文件运行程序时,是否有一种解决方案可以工作


共 (1) 个答案

  1. # 1 楼答案

    您可以将文件放入资源文件夹(src/main/resources)中吗?这样,您可以通过以下方式检索:

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