我正在尝试将JAR从其资源写入文件到本地目录中的目录。当我从NETBEANS运行它时它完美无缺。当我从DIST文件夹中的JAR运行它时它无论如何都没有工作我试图引用它......
以下是代码的相关部分:
for(File directory:sampleDirectories)
{
dir = new File("presentaciones/"+directory.getName());
dir.mkdir();
try {
br = new BufferedReader(new FileReader(directory.getAbsolutePath()+"/"+directory.getName()+".txt"));
bw = new BufferedWriter(new FileWriter(dir.getPath()+"/"+directory.getName()+".txt"));
c = br.readLine();
while (c != null) {
bw.write(c);
bw.write("\n");
c = br.readLine();
}
br.close(); bw.close();
} catch (IOException ex) {
Logger.getLogger(Opinarium3.class.getName()).log(Level.SEVERE, null, ex);
}
}
答案 0 :(得分:1)
File#mkdirs
代替File#mkdir
。File
引用访问嵌入式资源。相反,您需要使用Class#getResource
或Class#getResourceAsStream
答案 1 :(得分:0)
我的实际错误,正如@MadProgrammer指出的那样,是我阅读嵌入式资源的方式。如果其他人有兴趣从嵌入式资源中读取文件名,可以在此处找到执行此操作的关键Stack Overflow Article: How do I list the files inside a JAR file?