算法Sedgewick第四版-第1章基础-025-用队列实现unix下的Directory命令
2016-04-20 11:56
267 查看
package algorithms.util; /****************************************************************************** * Compilation: javac Directory.java * Execution: java Directory directory-name * Dependencies: Queue.java StdOut.java * * Prints out all of the files in the given directory and any * subdirectories in level-order by using a queue. Also prints * out their file sizes in bytes. * * % java Directory . * ******************************************************************************/ import java.io.File; import algorithms.ADT.Queue; public class Directory { public static void main(String[] args) { Queue<File> queue = new Queue<File>(); File root = new File(args[0]); // root directory if (!root.exists()) { StdOut.println(args[0] + " does not exist"); return; } queue.enqueue(root); while (!queue.isEmpty()) { File x = queue.dequeue(); if (!x.isDirectory()) { StdOut.println(x.length() + ":\t" + x); } else { File[] files = x.listFiles(); for (int i = 0; i < files.length; i++) queue.enqueue(files[i]); } } } }
相关文章推荐
- Play框架内置模板标签
- php-fpm 进程管理区别
- php 关于json_encode/json_decode和json_encode/unserialize
- Vert.x3异步框架实战
- wireshark删除filters记录
- Play框架中的用户验证
- char 类型转换成ascii码值
- iOS开发之UIView的生命周期是什么样的?
- Android动画深入分析————读书笔记
- ListView原理学习与优化总结
- 基于CAShapeLayer和贝塞尔曲线的圆形进度条动画【转载】
- 【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
- VC开发数据库基础之ADO篇
- wireshark删除filters记录
- Ubuntu安装JDK与环境变量配置
- 常用搜索引擎的算分,你get了嘛?
- 团队项目第一阶段冲刺站立会议02
- IMX6 理解Android编译命令
- ScrollView
- int、Integer,"=="和equals() 辨别?