在run proccess期间从Java项目中提取文件

时间:2015-07-26 10:59:07

标签: java eclipse jar

我正在尝试提取将java项目中包含的少数文件放到某个路径中,让我们说" c:\ temp"。
eclipse

我尝试使用这个例子:

      String home = getClass().getProtectionDomain().
                    getCodeSource().getLocation().toString().
                    substring(6);
      JarFile jar = new JarFile(home);
      ZipEntry entry = jar.getEntry("mydb.mdb");
      File efile = new File(dest, entry.getName());

      InputStream in = 
         new BufferedInputStream(jar.getInputStream(entry));
      OutputStream out = 
         new BufferedOutputStream(new FileOutputStream(efile));
      byte[] buffer = new byte[2048];
      for (;;)  {
        int nBytes = in.read(buffer);
        if (nBytes <= 0) break;
        out.write(buffer, 0, nBytes);
      }
      out.flush();
      out.close();
      in.close();

我认为我做错了,这段代码可能正在寻找一个特定的jar但不在我的项目目录中。我更喜欢找到一种方法,可以从资源包中检索我的文件,在项目文件夹中,并将其提取到我选择的特定文件夹。

我正在使用Eclipse,1.4 J2SE库。

1 个答案:

答案 0 :(得分:1)

嗯,如果没有任何代码示例,很难猜出错误是什么。 但至于随机猜测,我可以告诉你有时当你的程序的早期实例仍然在运行时,你会遇到这种错误。确保您只有一个正在运行的Eclipse实例。

您也可以尝试通过右键单击刷新项目文件夹 - &gt;刷新以使用Eclipse的内部文件系统同步文件系统:当涉及到Eclipse时,多次刷新/重建会神奇地解决项目问题:)