从JAR在本地目录中编写文件

时间:2014-08-15 02:34:00

标签: java java-io

我正在尝试将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);
                }
            }

2 个答案:

答案 0 :(得分:1)

  1. 请尝试使用File#mkdirs代替File#mkdir
  2. 无法通过File引用访问嵌入式资源。相反,您需要使用Class#getResourceClass#getResourceAsStream

答案 1 :(得分:0)

我的实际错误,正如@MadProgrammer指出的那样,是我阅读嵌入式资源的方式。如果其他人有兴趣从嵌入式资源中读取文件名,可以在此处找到执行此操作的关键Stack Overflow Article: How do I list the files inside a JAR file?