当一个java程序打包成jar文件时,对里面文件的操作:
例如文件test.xml在根目录下的file下面 /file/test.xml
当把它打成jar包后,获取这个文件的目录应该这样获取.
A代表某个类。
A.class.getResource(“/file/test.xml”)
这种写法是没错的,在eclipse中是可以执行的,能找到文件。
但是打成JAR后就不行了。为什么了?
因为当打成JAR包后,JAR包中的文件都称为resource。不称为文件。
所以不能用那种方式才操作。而只能用
InputStream is = this.getClass().getResourceAsStream("/path/in/jar/file.name"); 这种方式来操作。不然读取不了里面的内容。
例如文件test.xml在根目录下的file下面 /file/test.xml
当把它打成jar包后,获取这个文件的目录应该这样获取.
A代表某个类。
A.class.getResource(“/file/test.xml”)
这种写法是没错的,在eclipse中是可以执行的,能找到文件。
但是打成JAR后就不行了。为什么了?
因为当打成JAR包后,JAR包中的文件都称为resource。不称为文件。
所以不能用那种方式才操作。而只能用
InputStream is = this.getClass().getResourceAsStream("/path/in/jar/file.name"); 这种方式来操作。不然读取不了里面的内容。