博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Algs4-1.3.43文件列表
阅读量:7240 次
发布时间:2019-06-29

本文共 996 字,大约阅读时间需要 3 分钟。

 1.3.43文件列表。文件夹就是一列文件和文件夹的列表。编写一个程序,从命令行接受一个文件夹名作为参数,打印出访文件夹下的所有文件并用递归的方式在所有子文件夹的名下(缩进)列出其下的所有文件。提示:使用队列,并参考java.io.File。
答:
图片
import java.io.File;
public class test
{
    private class MyFile
    {
        String name;
        int level;
    }
    public static void main(String[] args)
    {
       String dirName=args[0];
       File f=new File(dirName);
       Queue<MyFile> q=new Queue<MyFile>();
       int level=0;
       test mytest=new test();
       mytest.ShowAllDirAndFile(f,q,level);
        for(MyFile i:q)
            StdOut.printf("%"+3*i.level+"s%s\n","",i.name);
     }//end main
   
    public  void ShowAllDirAndFile(File f,Queue<MyFile> q,int level)
    {
        if(f==null) return;
         level++;
        if(f.isDirectory())
        {
            MyFile myfile=new MyFile();
            myfile.name=f.getName().toString();
            myfile.level=level;
            q.enqueue(myfile);
            File[] files=f.listFiles();
           if(files.length>0)
            for(File file:files)
               ShowAllDirAndFile(file,q,level);
        }
        else
        {
            MyFile myfile=new MyFile();
            myfile.name=f.getName().toString();
            myfile.level=level;
            q.enqueue(myfile);
        }
    }
  }//end class

转载于:https://www.cnblogs.com/longjin2018/p/9854329.html

你可能感兴趣的文章
四、JVM垃圾回收2(垃圾收集算法)
查看>>
第五次作业
查看>>
Android:数据持久化
查看>>
站立会议01
查看>>
javascript+Struts2解决退出清空session以后,点击后退按钮显示原页面信息的问题
查看>>
Python全栈开发课堂笔记_day03
查看>>
Visio中手绘图形的填充
查看>>
SQL语句中日期相减注意事项
查看>>
实验九 根据材料编程
查看>>
HTTP详解
查看>>
使用WCF和WEBService出现配置的问题
查看>>
layer插件弹出显示圆角
查看>>
C#扫盲之:String字符串的常用方法和冷知识
查看>>
UVA-540 Team Queue
查看>>
迟滞比较器
查看>>
bzoj1816
查看>>
D. 实验室传染病
查看>>
[WC2016]挑战NPC
查看>>
LOJ#6032. 「雅礼集训 2017 Day2」水箱
查看>>
ios开发之--开发中可能会用到的一些函数
查看>>