java.io.FileNotFoundException获取Java中的文件路径

huangapple 未分类评论46阅读模式
英文:

java.io.FileNotFoundException getting path to file in java

问题

以下是翻译好的内容:

我有以下代码来检查某个路径上是否存在文件,如果不存在,则将该文件从项目中复制过来,它运行良好。

public static void verificarDB() throws IOException {
    File cygnus_db = new File(System.getProperty("user.home") + File.separator + ".local" + File.separator + "cygnus" + File.separator + "cygnus_db_local.db");

    if (!cygnus_db.exists()) {
        File source = new File("src/assets/bd/cygnus_db_local.db");
        File target = new File(System.getProperty("user.home") + File.separator + ".local" + File.separator + "cygnus" + File.separator + "cygnus_db_local.db");
        FileUtils.copyFile(source, target);
    }
}

但是,当我将项目导出为可运行的JAR文件时,我会得到以下异常:

java.io.FileNotFoundException: 源文件 'src/assets/bd/cygnus_db_local.db' 不存在
at org.apache.commons.io.FileUtils.checkFileRequirements(FileUtils.java:1383)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1060)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1028)
at pruebas.Main.verificarDB(Main.java:123)
at pruebas.Main.main(Main.java:30)

我做错了什么?

英文:

I have the following code for check if a file exists on some path, if not, that file is copy from the project, and it works.

public static void verificarDB() throws IOException {
	File cygnus_db = new File(System.getProperty("user.home")+File.separator+".local"+File.separator+"cygnus"+File.separator+"cygnus_db_local.db");
	
	if(!cygnus_db.exists()) {
	
	File source = new File("src/assets/bd/cygnus_db_local.db");
	File target = new File(System.getProperty("user.home")+File.separator+".local"+File.separator+"cygnus"+File.separator+"cygnus_db_local.db");
	FileUtils.copyFile(source, target);
	}
}

But when i export my project to a runnable jar i get this exception:

> java.io.FileNotFoundException: Source 'src/assets/bd/cygnus_db_local.db' does not exist
at org.apache.commons.io.FileUtils.checkFileRequirements(FileUtils.java:1383)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1060)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1028)
at pruebas.Main.verificarDB(Main.java:123)
at pruebas.Main.main(Main.java:30)

What im doing wrong?

huangapple
  • 本文由 发表于 2020年4月7日 06:06:26
  • 转载请务必保留本文链接:https://java.coder-hub.com/61069702.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定