A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张胜格 中级黑马   /  2012-12-31 10:19  /  1659 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

亲们,这是我的方法,你们有更好的吗?交流下。
public class Demo
{
    public static void main(String... args) {
        //D:\java
        File f = new File("D:"+File.separator+"java");
        fun(f);
    }

    public static void fun(File name) {
        File[] farr = name.listFiles();
        for(int i = 0; i < farr.length;i++) {
            if(farr[i].isDirectory()) {
                System.out.println(farr[i].getName()+"目录下:");
                fun(farr[i]);
                System.out.println("");
               
            } else {
                System.out.println(farr[i].getName());
            }
        }
        
    }
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

2 个回复

倒序浏览
这个 已经很符合要求了 递归也使了。使用递归了就减少了很多代码量,递归思想也是使用分治算法的条件的其中一方面。
回复 使用道具 举报
本帖最后由 嘿嘿小学徒 于 2014-2-27 09:33 编辑

复制代码
  1. import java.util.Scanner;
  2. import java.io.File;
  3. import java.io.IOException;
  4. public class FileDemo4{
  5.         public static void main(String ...args){
  6.          /**
  7.          * @param 黑马程序员
  8.          * @author 高一航
  9.          */
  10.                 Scanner in=new Scanner(System.in);
  11.                 System.out.println("Please input a directory name ..");
  12.                 String path=in.nextLine();
  13.                 File file=new File(path);
  14.                 if(!file.isDirectory()){
  15.                         System.out.println("please modify the name of the directory");
  16.                 }else{
  17.                         fun(file);
  18.                 }
  19.         }
  20.         public static void fun(File file){
  21.                 if(file.isFile()){
  22.                         System.out.println(file.getName());
  23.                 }else{
  24.                         for(File tempFile:file.listFiles()){
  25.                                 System.out.println("----------"+file.getName()+"----------");
  26.                                 fun(tempFile);
  27.                         }
  28.                 }
  29.         }
  30. }
复制代码
这是我的!分享下^_^  学完向老师IO那一章节的时候写的!

把循环嵌套的方法单独拿出来,思路清晰,效率更高~

我觉得学程序 一定要enjoy, 编一些自己用的到的好玩的小程序,知识掌握的更牢固~

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马