在java中读取jar内的文件

时间:2015-04-09 15:00:40

标签: java file text jar loading

我的情况是我在jar中捆绑了一个txt文件和java文件。我正在从java中读取txt文件,该文件只捆绑在jar中。

在读取文件时,在Java中获取FileNotFoundException以及将txt文件放在jar中的同一文件夹中。

我从测试类示例代码中调用此Java方法。

public static void loadtxtfile(){

    try {  
        InputStream in = 
            Utils.class.getClassLoader().getResourceAsStream("sample.txt");


         File f = new File(JetUtils.class.getClassLoader().getResource("dd.js").getFile());
         //OJetBase.class.getClassLoader().getResourceAsStream("logging.properties");

          BufferedReader input = new BufferedReader(new FileReader(js_filepath));
          StringBuffer buffer = new StringBuffer();

          while ((text = input.readLine()) != null)
              buffer.append(text + "\n");
          java_script = buffer.toString();
}

测试电话 - Utils.loadtxtfile();

我尝试了所有选项。

1 个答案:

答案 0 :(得分:0)

您无法将jar文件中的资源作为java.io.File对象读取,因为它们不存在于文件系统中。只需使用java.lang.Classloader.getResourceAsStream(String name)

Reader inputStreamReader = new InputStreamReader(
                JetUtils.class.getClassLoader().getResourceAsStream("dd.js"));
BufferedReader jsReader = new BufferedReader(inputStreamReader);

StringBuilder javascript = new StringBuilder();
String input;
while ((input = jsReader.readln()) != null) {
    javascript.append(input);
}