我在Java平台上工作。我需要将包中的文件复制到桌面上的某些文件夹中。我正在使用输入流和输出流类来完成它,它在NetBeans中做得非常好。
问题是,当我运行JAR文件来测试应用程序时,它没有复制文件,而是说NULL。
File source = new File("src/jrepo/css/bs.css");
File dest = new File(ResultPath + "/css/bs.css");
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(source);
os = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
} finally {
is.close();
os.close();
}
答案 0 :(得分:1)
你的问题在于
new File("src/jrepo/css/bs.css");
File(String)的构造函数获取文件的完整路径。您正在使用相对路径。如果您尝试从操作系统中读取文件,请使用完整路径。如果您从jar文件中读取它,请改用this approach。
答案 1 :(得分:0)
我发现自从使用JavaFX以来,有一个问题是停止CSS文件的文件复制。要解决该问题,只需在Netbeans中更改项目的运行时设置。右键单击项目标题→转到属性→构建→打包→取消选中二进制编码JavaFX CSS文件复选框,然后保存项目并重建它。