我有一个包含以下文件夹的项目:
资源/ XML的图式/ someXMLschema.xsd
我的项目中的一个类使用此xml架构在导入之前验证xml文件。
此类有一个指向架构路径的局部变量:
schemaFilePath = "resources" + File.separator + "xml-schemata" + File.separator + "someXMLschema.xsd"
当然这适用于本地。
现在我想把我的工具放在一个罐子里给别人。
但是使用jar的项目找不到架构,因为可能有两件事:
其中哪些可能是问题,我该如何解决?
答案 0 :(得分:0)
File f1 = new File("..\\..\\..\\config.properties");
尝试访问文件的路径位于Project目录中,然后只访问这样的文件。
File f=new File("filename.txt");
如果您的文件位于OtherSources/Resources
this.getClass().getClassLoader().getResource("relative path");//-> relative path from resources folder
最重要的是,读取并打印当前目录:
System.getProperty("user.dir");
这样你就会知道你需要的相对路径是什么,如果你试图从错误的路径中读取或者你需要的资源不存在,你就会更容易理解