如何列出jar里某目录下的文件

iiiooo 2007-12-17 03:43:21
jar包里有config目录,我想得到config目录下有哪些文件,并读取文件,如何做到
...全文
134 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
iiiooo 2008-02-04
  • 打赏
  • 举报
回复
是jar包里的多个文件
好像访问不到啊
xukejun_BabyY 2007-12-19
  • 打赏
  • 举报
回复
楼上的兄弟,注意是jar包下的文件
用 new File() 行不通哦!
cwjieNo5 2007-12-18
  • 打赏
  • 举报
回复
显示config目录下有哪些文件
public void getFile(String str)
{
File file = new File(str);
File filelist[] = file.listFiles();
System.out.println("config目录下的目录有");
for(int i = 0 ; i < filelist.length ; i ++)
{
if(filelist[i].isDirectory())
System.out.print("/n"+filelist[i].toString());
}
System.out.println("config目录下文件名字有:");
for(int j = 0 ; j < filelist.length ; j++)
{
if(file[i].isFile())
System.out.print("/n"+filelist[i].toString());
}
}
rascalboy520 2007-12-17
  • 打赏
  • 举报
回复
不好意思,上个有点问题,
public void getFile(String dir)
{
File files=new File(dir);
String[] filelist=files.list();
boolean isfile=false;
for(int i=0;filelist!=null&&i <filelist.length;i++)
{
File ftemp=new File(dir+"/"+filelist[i]);
if(ftemp.isDirectory())
{
getFile(dir+"/"+filelist[i]);
}
else
{
isfile=true;
break;
}
}
}
如果你想全都读一次的话,就用这个,并调用上面给你的那个方法,
rascalboy520 2007-12-17
  • 打赏
  • 举报
回复
public void getFile(String dir)
{
File files=new File(dir);
String[] filelist=files.list();
boolean isfile=false;
for(int i=0;filelist!=null&&i<filelist.length;i++)
{
File ftemp=new File(dir+"/"+filelist[i]);
if(ftemp.isDirectory())
{
getdata(dir+"/"+filelist[i]);
}
else
{
isfile=true;
break;
}
}
}
如果你想全都读一次的话,就用这个,并调用上面给你的那个方法,
xukejun_BabyY 2007-12-17
  • 打赏
  • 举报
回复
刚测试了一下,好像只能够指定到文件名才可以读它的内容,找文件名将jar文件用WINRAR打开看就行

...
InputStream in = ClassLoader.getSystemResourceAsStream("com\\test\\config\\test.xml");
...


2楼写的方法好像行不通
rascalboy520 2007-12-17
  • 打赏
  • 举报
回复
String path="文件路径";
File ft = new File("path");
StringBuffer sb = new StringBuffer();
try
{
InputStream is = new FileInputStream(ft);
BufferedReader in = new BufferedReader(new InputStreamReader(is,"文件编码"));
String content = "";
while(null!=(content=in.readLine()))
{
content+=content;
}
is.close();
}
catch(IOException e){}

文件路径是你要读的文件所在,
文件编码是你读的文件的编码,有utf-8,gbk等,
试一下,可以的话,记得给分啊,
洪泉 2007-12-17
  • 打赏
  • 举报
回复
你指的是哪个?
如果是直接想打开来看的话,用winrar解压可以看到
如果你要写代码列出的话可以参考JarFile的相关操作来实现
xukejun_BabyY 2007-12-17
  • 打赏
  • 举报
回复

...
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
Enumeration urlEnum = classLoader.getResources("com/test/config");
...


得到的是URL再用上面的方法取就可以了
xukejun_BabyY 2007-12-17
  • 打赏
  • 举报
回复
...
InputStream in = ClassLoader.getSystemResourceAsStream("com\\test\\config\\test.xml");
...


这个样子就可以拿到了

62,623

社区成员

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

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