9 个解决方案
#1
InputStream in = XXX.class.getClassLoader().getResourceAsStream("XXX.properties");
这种方式加载类路径下的资源文件
要把资源文件放到类路径中
方法很多,我最喜欢这种。
这种方式加载类路径下的资源文件
要把资源文件放到类路径中
方法很多,我最喜欢这种。
#2
把资源文件放到源文件目录。
编译后再打包。
编译后再打包。
#3
不建议将资源文件也打包到JAR中
#4
学习
#5
把路径改成绝对路径,应该就可以了
#6
如果不希望把配置文件之类的打到jar里,那么用
String sPath= System.getProperty("user.dir");
然后配置文件的路径为
String filepath = "file:///"+sPath+"\\xxxx.xxx";
String sPath= System.getProperty("user.dir");
然后配置文件的路径为
String filepath = "file:///"+sPath+"\\xxxx.xxx";
#7
路径问题
#8
这种做法如果换到类加载机制是委托的。就是一出悲剧了。
首先楼主应该明白jar包中的资源,要生存一个file对象是不可能地。最好的情况就能取个inputstream,我想这基本就可以解决你的问题。
下面是取sqlserver中msbase.jar的META-INF/MANIFEST.MF文件。
InputStream is = Test.class.getResourceAsStream("/META-INF/MANIFEST.MF");
int i = 0;
byte[] buff = new byte[1024];
while((i=is.read(buff))>0)
{
System.out.println(new String(buff,0,i));
}
is.close();
Test类指代classpath中任意类jar包中的也可以。但是需要注意地是你jar包中的配置文件,必须是唯一命名。不能和项目中的任意文件重名,包括jar包中的文件。
#9
google
#1
InputStream in = XXX.class.getClassLoader().getResourceAsStream("XXX.properties");
这种方式加载类路径下的资源文件
要把资源文件放到类路径中
方法很多,我最喜欢这种。
这种方式加载类路径下的资源文件
要把资源文件放到类路径中
方法很多,我最喜欢这种。
#2
把资源文件放到源文件目录。
编译后再打包。
编译后再打包。
#3
不建议将资源文件也打包到JAR中
#4
学习
#5
把路径改成绝对路径,应该就可以了
#6
如果不希望把配置文件之类的打到jar里,那么用
String sPath= System.getProperty("user.dir");
然后配置文件的路径为
String filepath = "file:///"+sPath+"\\xxxx.xxx";
String sPath= System.getProperty("user.dir");
然后配置文件的路径为
String filepath = "file:///"+sPath+"\\xxxx.xxx";
#7
路径问题
#8
这种做法如果换到类加载机制是委托的。就是一出悲剧了。
首先楼主应该明白jar包中的资源,要生存一个file对象是不可能地。最好的情况就能取个inputstream,我想这基本就可以解决你的问题。
下面是取sqlserver中msbase.jar的META-INF/MANIFEST.MF文件。
InputStream is = Test.class.getResourceAsStream("/META-INF/MANIFEST.MF");
int i = 0;
byte[] buff = new byte[1024];
while((i=is.read(buff))>0)
{
System.out.println(new String(buff,0,i));
}
is.close();
Test类指代classpath中任意类jar包中的也可以。但是需要注意地是你jar包中的配置文件,必须是唯一命名。不能和项目中的任意文件重名,包括jar包中的文件。
#9
google