本帖最后由 jant60 于 2015-1-8 14:16 编辑
今天学完io做的,,分享给大家,希望能给出优化的意见,谢谢
不好意思忘了注释,和思路了现在补上:
其实打印指定的文件夹目录很简单的。
java提供了file类 以指定目录实例化之后,可以通过list()方法获取到所有此目录下所有文件及文件夹,如果实例化时候给出的目录不是目录那么list()返回null
利用这两点就可以完成对指定目录的遍历了。
但是目录下还有目录我们就需要递归的进行遍历,这就是大概思路
代码中可能有很多不足之处,或者错误,请大家帮助指导一下
- import java.io.File;
- public class IoTree {
- public static void main(String[] args) {
- show("D:\\b",0);
-
-
- }
- public static void show(String path,int lev) {//path是传入的路径,lev是第几次递归也就是第几级目录,以便后面格式化输出
- File f=new File(path);
- String[] name=f.list();
- for (int i = 0; i < name.length; i++) {
- if(new File(path+"\\"+name[i]).list()==null){//如果传进来的不是一个目录
- System.out.println(strcopy(lev)+"--"+name[i]);//那么输出信息
- }else{
- show(path+"\\"+name[i],++lev);//如果是一个目录,那么就继续递归
- }
-
- }
- }
- public static String strcopy(int i){
复制代码
|
|