0308 寻找文件夹中的最大和最小文件

package IO流;
import java.io.File;
import java.util.Date;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
/**
 * @author shawnwen
 * @version 创建时间:2022-3-8 16:21:40
 * @ClassName 遍历文件夹1
 * @Description
 */
public class 遍历文件夹1 {

	publi**c static void main(String[] args) {
		
		File f = new File("C:/Windows");
		System.out.println("当前文件是"+f);

		// 为什么这个位置打不开,下面却可以列出文件夹下的所有文件形成数组
		// 似乎是拒绝访问,应该访问权限没打开,难道下面那个不需要访问权限吗
		try {
			System.out.println("试图打开 C:/windows");
			new FileInputStream(f);
			System.out.println("成功打开");
		}
		catch(FileNotFoundException e) {
			System.out.println("C:/windows不存在");
			e.printStackTrace();
		}

		// 构建文件数组,文件夹也会被算入其中
		File[]fs = f.listFiles();
		if(fs==null) {
			return;
		}
		for(File file : fs) {
			System.out.println(file);
		}
		
		// 最大最小字节
		long maxSize = 0;
		long minSize = Integer.MAX_VALUE;

		// 最大最小文件夹
		File maxFile = null;
		File minFile = null;

		// 遍历文件夹数组
		for(File file : fs) {

			//如果是文件夹就排除
			if(file.isDirectory()|file.length()==0) {
				continue;
			}
		
			//寻找最大字节文件
			if(file.length()>maxSize) {
				maxSize = file.length();
				maxFile = file;
			}
		
			// 寻找最小字节文件
			if(file.length()<minSize) {
				minSize = file.length();
				minFile = file;
			}
		}
	
		//输出
		System.out.println("最大的文件是"+maxFile+",其大小是"+maxSize+"\n"+"最小的文件是"+minFile+",其大小是"+minSize);
	}
}
posted @ 2022-10-24 15:03  NewShawn  阅读(11)  评论(0)    收藏  举报