任务:
1.统计一个文件夹下面所有标准文件的个数
2.统计一个文件夹类型,位置,大小,包含的文件和文件夹个数,最后一次修改时间,是否只读,是否隐藏
class="java">package sj.FileDemo_v2; import java.io.File; /** * 统计指定文件夹下的标准文件个数 * @author Timmy * */ public class FileDtil { static int countF = 0; static int result = 0; public static void main(String[] args) { String p = "D:\\Program Files\\Java"; cFile(p); System.out.println("该文件夹下有标准文件"+result+"个"); System.out.println("该文件夹下有文件夹"+countF+"个"); } /** * 统计指定目录文件下的标准文件个数 * * @param path =>要统计的文件路径 * @return =>返回统计的标准文件个数 */ public static void cFile(String path) { //创建文件对象 File file = new File(path); //判断文件夹路径是否存在 if (!file.exists()) { System.out.println("文件路径不存在"); return; } //文件路径存在,将该文件中的所有子文件返回到一个文件数组中 File[] fs = file.listFiles(); //判断fs是否为null if (fs == null) { System.out.println("给定的路径不是一个文件夹"); return; } //遍历文件,统计文件个数3 for (int i = 0; i < fs.length; i++) { File f = fs[i]; //获得文件路径 String str = f.getAbsolutePath(); if(f.isFile()) { System.out.println("找到一个文件"+str); //位置 String s = f.getParent(); System.out.println("此文件在“"+s+"”文件夹下"); //大小、最后修改时间 long l = f.length(); long t = f.lastModified(); System.out.println("文件大小:"+l+"字节"); System.out.println("最后一次修改时间:"+t); //是否可读、是否隐藏 boolean bRead = f.canRead(); boolean bHidden = f.isHidden(); if (bRead) { System.out.println("此文件可读"); } else { System.out.println("此文件不可读"); } if (bHidden) { System.out.println("此文件被隐藏"); } else { System.out.println("此文件未被隐藏"); } System.out.println("*************************************"); result++; } else if(f.isDirectory()) { countF++; cFile(str); } } } }
?