如何列出jar里某目录下的文件 jar包里有config目录,我想得到config目录下有哪些文件,并读取文件,如何做到 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ...InputStream in = ClassLoader.getSystemResourceAsStream("com\\test\\config\\test.xml");...这个样子就可以拿到了 ...ClassLoader classLoader = ClassLoader.getSystemClassLoader();Enumeration urlEnum = classLoader.getResources("com/test/config");...得到的是URL再用上面的方法取就可以了 你指的是哪个?如果是直接想打开来看的话,用winrar解压可以看到如果你要写代码列出的话可以参考JarFile的相关操作来实现 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等,试一下,可以的话,记得给分啊, 刚测试了一下,好像只能够指定到文件名才可以读它的内容,找文件名将jar文件用WINRAR打开看就行...InputStream in = ClassLoader.getSystemResourceAsStream("com\\test\\config\\test.xml");...2楼写的方法好像行不通 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; } } }如果你想全都读一次的话,就用这个,并调用上面给你的那个方法, 不好意思,上个有点问题, 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; } } } 如果你想全都读一次的话,就用这个,并调用上面给你的那个方法, 显示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()); }} 楼上的兄弟,注意是jar包下的文件用 new File() 行不通哦! 是jar包里的多个文件好像访问不到啊 什么是单立模式,代码实现 求 高手回答问题 非常急 小弟初学JAVA,希望大侠们帮忙看下JAVA编辑器的下载和安装. 算法問題 求Java,String类转换其他类型的代码,谢谢! 如何在程序中启动别的应用程序? J2EE的系统,运行特别慢,请问是什么问题? 这是什么风格的Java界面? 求java资料 电子书或文章 如何像QQ那样在文本框中添加图标? 请教:俺只读侯捷先生翻译的《JAVA编程思想》可以达到什么样的境界? 急!java 如何连 mysql ,驱动又在哪儿找! 大哥们。迫切需要解决-----数据库的连法?
InputStream in = ClassLoader.getSystemResourceAsStream("com\\test\\config\\test.xml");
...这个样子就可以拿到了
...
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
Enumeration urlEnum = classLoader.getResources("com/test/config");
...
得到的是URL再用上面的方法取就可以了
如果是直接想打开来看的话,用winrar解压可以看到
如果你要写代码列出的话可以参考JarFile的相关操作来实现
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等,
试一下,可以的话,记得给分啊,
InputStream in = ClassLoader.getSystemResourceAsStream("com\\test\\config\\test.xml");
...
2楼写的方法好像行不通
{
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;
}
}
}
如果你想全都读一次的话,就用这个,并调用上面给你的那个方法,
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;
}
}
}
如果你想全都读一次的话,就用这个,并调用上面给你的那个方法,
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());
}
}
用 new File() 行不通哦!
好像访问不到啊