有个问题很苦恼,急 有个jar包a.jar,里面有a.class ,A.class又使用了a.jar里的a.properties文件当我在我的主程序里用自定义的classloader加载a.jar调用A.class的时候 这个a.properties文件找不到了 - -请问大家告诉下怎么解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你先打印获取a.properties的路径看看是什么 Properties property = System.getProperties();String str = property.getProperty("user.dir");运行这个,打印出它的路径,然后适当加上a.properties的路径,这样应该没问题了 "jar:file:/"+ AbsolutePath +"!/a.properties";在jar包中的文件可以用这种方式加载比方我的rmi使用jar包启动需要使用java.policy文件路径为jar:file:/F:\workspace\MSGRmiServer\MSGRmiServer.jar!/java.policy 加载jar包中的文件要使用xxx.getClass().getClassLoader().getResourceAsStream()的方式来加载,不能使用普通的文件路径。 1. 创建一个data.txt文件,里面随便写点数据,再创建一个Test.java文件,把它们放在同一个目录中,编译运行,可以看到输出data.txt中的内容。2. 再把编译好的class文件把成可执行jar包(可以使用Eclipse来打包,方便),同时把data.txt文件也放在jar包中,再执行打包后的jar文件,同样可以把jar包中的data.txt的内容输出。Test.java的内容如下:import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;public class Test { public static void main(String[] args) throws Exception { InputStream is = Test.class.getClassLoader().getResourceAsStream("data.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); }} Java Thread java如何读取.mat文件中的数据 处理JPEG的resolution问题 菜鸟提问?如何输出一个长方形? 请问有什么工具可以观看applet运行效果? 如何读取一个文件夹中所有文件的文件名 开发B/S项目过程中碰到的一个Web问题,大家帮忙看看。 SQL Server中的char类型如何通过ResultSet获得? public Rectangle getRect() 提示出错, JAVA应用程序里怎样嵌套html网页?急 小问题哦~ 关于 i ++; 请教:这是一种什么用法?
String str = property.getProperty("user.dir");
运行这个,打印出它的路径,然后适当加上a.properties的路径,这样应该没问题了
在jar包中的文件可以用这种方式加载比方我的rmi使用jar包启动需要使用java.policy文件
路径为
jar:file:/F:\workspace\MSGRmiServer\MSGRmiServer.jar!/java.policy
2. 再把编译好的class文件把成可执行jar包(可以使用Eclipse来打包,方便),同时把data.txt文件也放在jar包中,再执行打包后的jar文件,同样可以把jar包中的data.txt的内容输出。Test.java的内容如下:import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;public class Test {
public static void main(String[] args) throws Exception {
InputStream is = Test.class.getClassLoader().getResourceAsStream("data.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
}