随便找一个文件夹,计算里面的文件总数(包括子文件夹里面的文件).
是不是用InputStream和递归的方法.
请问代码如何写???

解决方案 »

  1.   

    import java.io.*;
    public class ListFile {/**
    * @param args
    */
    public static void main(String[] args) throws Exception{
    listFile(new File("D:\\Java\\Tomcat 5.0\\webapps\\MyDvd"));
    }public static void listFile(File file) throws Exception {
    if(file.isFile()) {
    System.out.println("File :"+file.getAbsolutePath());} else {
    System.out.println("Dir :"+file.getAbsolutePath());
    File[] files = file.listFiles();
    for(int i = 0;i<files.length;i++) {listFile(files[i]);
    }
    }
    }
    }
      

  2.   

    递归是递归,不过不是用InputStream,用File类的listFiles()方法获取全部文件(包括目录)
      

  3.   

    File file = new File("文件夹名");
    String [] files = file.list();
    files.length就能得到数量了
      

  4.   

    楼上没有清楚题目:)
    递归就可以了wuyg(平平) 正解`~
      

  5.   


    import java.io.File;public class Test
    {
    public static void main(String[] agrs)
    {
    File f=new File("testa");
    File[] list=f.listFiles();
    int length=0;
    for (int i = 0; i <list.length; i++) {
         length+=list[i].length();
    }  
    System.out.println(length);
    }
    }
      

  6.   


    import java.io.File;public class Test
    {
    public static void main(String[] agrs)
    {
             File f=new File("E:\\SH\\Java\\netbeansProject\\src\\netbeansproject");
    File[] list=f.listFiles();
                    
                    System.out.println("共有 " + list.length + " 个文件");
    int length=0;
    for (int i = 0; i <list.length; i++) {
         length+=list[i].length();
    }  
    System.out.println(length);
    }
    }