package lovo.com;
import java.io.*;
public class Dir
{
public void find(String fileName)
{
File flDir = new File(fileName);
System.out.println("Files in "+flDir.getAbsolutePath());
String strFiles[] = flDir.list();
//分别用来记录子目录的个数和文件的个数
int intDirCount = 0,intFileCount = 0;
//用来记录所有文件的总长度
long lngSize = 0;
for ( int i = 0; i < strFiles.length ; i++ )
{
String newFileName=fileName+File.separator+strFiles;
File flTemp = new File(newFileName);
if (flTemp.exists())
{
//判断是否是普通文件
if ( flTemp.isFile() )
{
System.out.println(strFiles + "\t" + flTemp.length());
intFileCount ++;
lngSize = lngSize + flTemp.length();
}
//判断是否是目录
if ( flTemp.isDirectory() )
{
System.out.println(strFiles + " \t<DIR> " );
intDirCount ++;
//递归调用本方法
find(newFileName);
}
}
}
System.out.println(intFileCount + " file(s) \t" + lngSize + " bytes");
System.out.println(intDirCount + " dir(s) ");
}
public static void main(String[] args)
{
Dir d = new Dir();
if(args.length!=1){
System.out.println("参数错误!请检查是否输入参数或者输入多个参数!");
return;
}
d.find(args[0]);
}
}