jsp如何列出多重文件下的文件 大家好,我想问一下,如何用java实现对一个文件夹里面的文件进行列举,但是文件夹下面还有其他的文件夹,比如文件夹1里面有一些文件和文件夹2,文件夹2里面也有文件。 如何一下子找出文件1里面包含的所有文件,最后连路经也列举出来。小弟在线等,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一个java列出c:\window\system32下面文件的实现做参考。package test;import java.io.File;public class DocTree { public void drawDocTree(File root,int depth,int childrenSize){ if (root.isFile()){ drawFile(root,depth); } else { drawForder(root,depth); File[] files = root.listFiles() ; if (files!=null && files.length!=0){ int size = files.length ; //print forder(s) first ,then file(s) ; for (int i=0 ;i<size ;i++){ drawDocTree(files[i],depth+1,size); } } } } /** *draw forder *@param root: current forder ; *@param depth: current depth ; */ private void drawForder(File root, int depth) { for (int i=0 ;i<depth ;i++){ System.out.print("| "); } System.out.print("|---"); System.out.print("["+root.getName()+"]"); System.out.println(); } /** * @param root * @param depth */ private void drawFile(File root, int depth) { // TODO Auto-generated method stub for (int i=0 ;i<depth ;i++){ System.out.print("| "); } System.out.print("|---"); System.out.print(root.getName()); System.out.println(); } public static void main(String[] args){ DocTree docTree = new DocTree(); File file = new File("C:\\WINNT\\system32") ; docTree.drawDocTree(file, 0, 1) ; }} 顶,楼上思路是对你获取的路径下的文件进行判断是否是目录,若是再进入该路径,这样循环知道没有目录退出并打印路径即可你可以设置一个标志变量flag来判断循环是否结束。也可以用楼上朋友的方法· 就是判断是不是file,是的话打印出他的路径,不是的话如果是文件夹,包含文件用listFiles()列举出来,再打印全部路径 菜鸟求助:无法输入联系地址 菜鸟求解反射的好处 谁有java方面的书要卖? 请详细解析以下代码如何访问私有属性的 这个泛型该怎么用 问烂了的问题 写servlet,用tomcat显示 请教,如何把RMI封装在java程序中 我申请了一个域名,想用于我的机器,该怎么办? 我的Java学习心得(2) 小白求助 【小测试】用递归的方法,颠倒整型数组的数据顺序 int到char类型转换
public void drawDocTree(File root,int depth,int childrenSize){
if (root.isFile()){
drawFile(root,depth);
}
else {
drawForder(root,depth);
File[] files = root.listFiles() ;
if (files!=null && files.length!=0){
int size = files.length ;
//print forder(s) first ,then file(s) ;
for (int i=0 ;i<size ;i++){
drawDocTree(files[i],depth+1,size);
}
}
}
}
/**
*draw forder
*@param root: current forder ;
*@param depth: current depth ;
*/
private void drawForder(File root, int depth) {
for (int i=0 ;i<depth ;i++){
System.out.print("| ");
}
System.out.print("|---");
System.out.print("["+root.getName()+"]");
System.out.println();
}
/**
* @param root
* @param depth
*/
private void drawFile(File root, int depth) {
// TODO Auto-generated method stub
for (int i=0 ;i<depth ;i++){
System.out.print("| ");
}
System.out.print("|---");
System.out.print(root.getName());
System.out.println();
}
public static void main(String[] args){ DocTree docTree = new DocTree();
File file = new File("C:\\WINNT\\system32") ;
docTree.drawDocTree(file, 0, 1) ;
}
}
思路是对你获取的路径下的文件进行判断是否是目录,若是再进入该路径,这样循环知道没有目录退出并打印路径即可
你可以设置一个标志变量flag来判断循环是否结束。
也可以用楼上朋友的方法·