首页 > 解决方案 > 使用来自 java jar 应用程序的目录

问题描述

我有 java 应用程序,我将目录(带有子目录和文件)复制到 SDCard。我想用项目保存这些目录。在eclipse中一切正常。但是,当我将项目导出到可运行的 jar 时,应用程序无法找到或复制这些目录。没有显示错误。

File folder2 = new File(getClass().getResource("/urgent/").getFile());
File folder4 = new File(getClass().getResource("/service/").getFile());

当我想复制目录时,我从 jar 应用程序获得的路径是:

jar:file:\C:\path\to\jar\file\myapp.jar!\urgent

项目层次结构:

-project
 --src
 --build
 --urgent
  ---subdir
 --service
  ---subdir

是否可以在 jar 中使用您自己的目录以及如何使用?

标签: javajar

解决方案


您正在尝试处理类路径上的资源,硬盘驱动器上的随机文件夹不在其中,因此您找不到它。

您需要做的是: 1. 使用命令行中的参数(请参阅如何在 main 方法中使用 args[]) 2. 使用这些参数来参数化您的自定义复制方法

或者:

尝试使用 Apache Commons IO 库中的 copyDirectory(File srcDir, File destDir) 方法。要使用此研究如何在项目中包含库,最好使用 maven。


推荐阅读