用递归方法实现指定目录的枚举——兼谈File类的使用

/*
 * 程序功能:用递归方法实现指定目录的枚举
 * 演示了File类的应用,File类提供的常用方法:
 * public String getName():返回绝对目录名的最后名。如:d:/downloads/software或d:/downloads/software/只返回software;但d:/返回空字符串。
 * public boolean createNewFile() throws IOException:如果文件不存在并且成功创建,返回true;否则,返回false。
 * public boolean delete():删除文件或目录。如果文件或目录被成功删除,返回true;否则,返回false。
 * public boolean exists():文件或目录是否存在。
 * public String getAbsolutePath():返回的是绝对路径。
 * public String getPath():返回new File("pathname")时的pathname。如:new File("1.txt"),将返回1.txt;new File("d://downloads"),返回d:/downloads。
 * public boolean isDirectory():是否为目录。
 * public boolean isFile():是否为一普通文件。
 * public String[] list():返回目录下的文件和子目录到字符串数组中。
 * public boolean mkdir():创建目录。目录被创建,返回true;否则返回false。
 * public boolean mkdirs():创建带父目录的目录。
 * public boolean renameTo(File dest):重命名。
 */

package com.lwj.demo;

import java.io.*;

public class FileDemo {


 static int numbersOfDir = 0;//表示文件夹数
 static int  numbersOfFile= 0;//表示文件数

 public static void main(String[] args) throws IOException{
  listDir("d://downloads");
  System.out.println("文件夹数(包括d://downloads文件夹):" + numbersOfDir);
  System.out.println("文件数:" + numbersOfFile);
 }

 static void listDir(String f) {
  File file = new File(f);
  if (file.isDirectory()) {
   numbersOfDir++;
   String[] dirs = file.list();
   for (String dir : dirs) {
    System.out.println(f + "//" + dir);
    listDir(f + "//" + dir);
   }
  } else {
   numbersOfFile++;
   System.out.println(f);
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值