java - 在 Java 中读取 jar 文件中的 Txt 文件

标签 java eclipse

我已经编写了一个 Java 程序并以通常的方式将其打包在一个 jar 文件中 - 不幸的是需要在一个 txt 文件中读取。这就是程序无法在其他计算机上启动的原因,因为它找不到 txt 文件。

同时,我在我的程序中使用了很多图像,但这里没有这样的问题:我将图像“复制”到 eclipse 主目录,以便将它们打包在 jar 文件中,并可以通过以下命令使用:

BufferedImage buffImage=ImageIO.read(ClassName.class.getClassLoader()
                    .getResourceAsStream("your/class/pathName/));

简单的文本文件有类似的东西,然后可以用作普通的 new File()?


编辑
我尝试用这个解决方案解决我的问题:

package footballQuestioner;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.security.auth.login.Configuration;


public class attempter {

    public static void main(String[] args) {
        example ex = new example();
    }

}

class example  {



    public example() {

        String line = null;

        BufferedReader buff = new BufferedReader(new InputStreamReader(
                Configuration.class
                        .getResourceAsStream("footballQuestioner/BackUpFile")));

        do {
            try {
                line = buff.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } while (line != null);

    }

}

但它总是给出 NullPointerException...我是不是忘记了什么?

根据需要,我的 jar 文件的文件结构如下:

enter image description here enter image description here enter image description here enter image description here

最佳答案

您可以通过执行以下操作从 ClassPath 加载文件:

ClassLoader cl = getClass().getClassLoader()
cl.getResourceAsStream("TextFile.txt");

这也应该有效:

getClass().getResourceAsStream(fileName);

文件总是指向文件系统中的一个文件,所以我认为你将不得不处理一个流。

关于java - 在 Java 中读取 jar 文件中的 Txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25412960/

相关文章:

Java 更改舍入

java - "Exception in thread "AWT-EventQueue-0 "java.lang.NullPointerException"Java 套接字编程中的错误

eclipse - 是否可以在 eclipse 中使用 notepad++ 作为内联文本编辑器

java - Vaadin 中的外部项目依赖项

c++ - Eclipse 中的 C/C++,我可以使用 #define 来设置断点,但只能在单步执行代码时使用吗?

java - 通过 Java 使用来自 http ://www. webservicex.net 的 Web 服务

java - 自定义 Eclipse 格式

java - Hibernate配置文件和Eclipse项目导出

java - 强制调用所有方法

eclipse - 如何将 MessageDialog.open() 与 QUESTION_WITH_CANCEL 一起使用?