在Java中是否有办法通过类加载器在jar中检索的资源上构造File实例?
我的应用程序使用jar中的一些文件(默认)或运行时指定的文件系统目录(用户输入).我正在寻找一种一致的方法:
a)将这些文件作为流加载
b)分别列出用户定义目录中的文件或jar中的目录
编辑:显然,理想的方法是完全远离java.io.File.有没有办法从类路径加载目录并列出其内容(包含在其中的文件/实体)?
可能重复:
Java资源作为文件
我是Java的新手,我试图在Jar文件中获取一个文本文件.
在我执行我的jar时,我必须将我的文本文件放在与jar文件相同的文件夹中.如果文本文件不存在,我会得到一个NullPointerException,我想避免.
我想要做的是在jar中获取txt文件,所以我不会遇到这个问题.我尝试了一些指南,但它们似乎没有用.我目前的读取功能如下:
public static HashSet<String> readDictionary()
{
HashSet<String> toRet = new HashSet<>();
try
{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("Dictionary.txt");
try (DataInputStream in = new DataInputStream(fstream)) {
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Read Lines
toRet.add(strLine);
}
}
return toRet;
}
catch (Exception e)
{//Catch exception if any
System.err.println("Error: …Run Code Online (Sandbox Code Playgroud) 如何使用JFileChooser将Text文件内容导入Java应用程序中的JTextArea?