站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题如何得到package下的所有文件名称?

如何得到package下的所有文件名称?

摘要: 如何得到package下的所有文件名称?


定义了一个包 package fileslist;
该包下有若干个文件,如a.txt,b.java,c.jpg .....
怎样才能枚举这个包下的所有文件名称.


mark



java.io.File;

public String[] list()


File file =new File("e://abc");
File f[]=file.listFiles();
System.out.println(f.length);


这个只是得到跟目录下的所有文件及文件夹
要得到某个目录下所有的文件,包括字目录下的文件,需要用递归:
public class Test {
private List files=new ArrayList();
public static void main(String args[]) {
File file =new File("e://abc");
File f[]=file.listFiles();
System.out.println(f.length);

Test test=new Test();
test.getFile(file);
System.out.println(test.files.size());
}

public File getFile(File file) {
File result=null;
if(file.isDirectory()){
System.out.println("目录");
File f[]=file.listFiles();
for(int i=0;i files.add(this.getFile(f[i]));
}
}else{
System.out.println("文件");
result=file;
}
return result;
}
}


解决了
public void DownloadReports() throws IOException{
// 把包名字转换成绝对路径
String name = new String("myapp/report");
if (!name.startsWith("/")) {
name = "/" + name;
}
name.replaceAll("%20", " ");
URL url = reports.class.getResource(name);
//System.out.println(url.getFile().replaceAll("%20", " "));
File directory = new File(url.getPath().substring(1).replaceAll("%20", " "));
if (directory.exists()) {
String[] files = directory.list();
for (int i = 0; i < files.length; i++) {
String classname = files[i];
if(files[i].endsWith(".jasper"))
{
DownloadReports(files[i]);
}
//System.out.println(classname);
}
}
}



解决了就揭贴吧


↑返回目录
前一篇: 去哪弄几亿个随机的用户名呢
后一篇: 我分别试过getString(),getInt(),getLong(),都不行,getObject()取出来的东西,直接输入是:null。用getBytes()取出来长度为15,少一位