getClassLoader()。getResourceAsStream方法为具有“.LIB”扩展名的文件返回null

时间:2016-10-26 10:47:59

标签: java jvm

我正在尝试使用

从资源/路径加载文件
getClassLoader().getResourceAsStream("file.LIB")

但该方法始终返回null,除非我将文件重命名为另一个扩展名,例如“.dll”。

我查看了官方Java文档,但无济于事。

为什么该方法对该文件类型的行为很奇怪?

注意:我使用的是JDK 1.8.0_111 x86(由于该lib文件的限制,只适用于32位JVM)

1 个答案:

答案 0 :(得分:0)

它对我有用,你需要确定你正在用lib文件做什么。

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class FileHelper {

public String getFilePathToSave() {

    Properties prop = new Properties();
    String filePath = "";

    try {

      InputStream inputStream =
        getClass().getClassLoader().getResourceAsStream("abc.lib");

      prop.load(inputStream);
      filePath = prop.getProperty("json.filepath");

    } catch (IOException e) {
            e.printStackTrace();
    }

    return filePath;

  }
public static void main(String args[]) {
  FileHelper fh = new FileHelper();
   System.out.println(fh.getFilePathToSave());

 }
}