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);
}
}