当前页面: 开发资料首页 → 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);
}
}
}
解决了就揭贴吧