如何读取jar包里面的配置文件

brooklyng60 2010-11-25 11:17:50
是这样,我项目中有一个配置文件,例如config.xml在初始化的过程中会有这么段话
public File getConfigFile(){
File f=new File(....);//我项目中的路径
if(f.exist()){
return f;
}else{
//因为做的包别人也要用,配置文件别人不需要知道是什么,也不用修改,我打包会将配置文件打到包的根目录下,他放到他的项目中只有我的一个包,包里面有我的配置文件,这里就要得到我包里面的配置文件了,别人的工程下是没有我的配置文件的
File f=new (..............路径,不清楚,呵呵);不明白
return f;
}
}
...全文
1806 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
brooklyng60 2010-11-29
  • 打赏
  • 举报
回复
谢谢楼上的几位兄弟,从jar读出来的就是inputStream,我改了接口参数,然后实现简化了
不需要传File参数了,原来是
public File(string path){....}
现在
public InputStream get().....
Ade子夜 2010-11-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tubage408 的回复:]

你最终要的是什么样的我不清楚,但是下面的代码你研究下。
package com.read;

import java.io.*;
public class Resource {
public void getResource() throws IOException{
//返回读取指定资源的输入流
InputStream is=this.getClass()……
[/Quote]

ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("com/xxx/xxxx/yourfile.xml");
tubage408 2010-11-26
  • 打赏
  • 举报
回复
你最终要的是什么样的我不清楚,但是下面的代码你研究下。
package com.read;

import java.io.*;
public class Resource {
public void getResource() throws IOException{
//返回读取指定资源的输入流
InputStream is=this.getClass().getResourceAsStream("/struts-default.xml");
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String s="";
while((s=br.readLine())!=null)
System.out.println(s);
}
}
这个类是jar包中的类,同时jar根下还有个struts-default.xml文件。
fable0115 2010-11-26
  • 打赏
  • 举报
回复
我不太明白,来学习
stl0 2010-11-26
  • 打赏
  • 举报
回复
学习下,还可以这么用啊
hepehuan 2010-11-26
  • 打赏
  • 举报
回复
jar包里的东西就和你本地的东西一样去读。
Elim-Zhang 2010-11-25
  • 打赏
  • 举报
回复
楼上的方法是可以的
  • 打赏
  • 举报
回复
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("com/xxx/xxxx/yourfile.xml");

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧