1. 第一次没有使用文件对象,写的只是答案对了,也贴上代码
2. 使用文件对象,实现遍历文件夹中的文件(包括子文件夹)
package file;
import java.io.File;
public class TestFile{
static int num = 0;
static long minSize = Integer.MAX_VALUE;
static long maxSize = 0;
static File minFile = null;
static File maxFile = null;
public static void listFiles(File file){
if(file.isFile()){
if(file.length() > maxSize){
maxSize = file.length();
maxFile = file;
}
if(file.length() < minSize){
minSize = file.length();
minFile = file;
}
num++;
}
if(file.isDirectory()){
File[] fs = file.listFiles();
if(fs != null){
for (File f : fs){
listFiles(f);
}
}
}
}
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
File f = new File("F:/学习资料");
listFiles(f);
long endTime = System.currentTimeMillis();
System.out.printf("总文件数为:%d\n最大的文件是%s,大小为:%d字节\n最小的文件是%s,大小为:%d字节\n",
num,maxFile.getAbsolutePath(),maxSize,minFile.getAbsolutePath(),minSize);
System.out.printf("一共耗时:%dms\n", endTime-startTime);
}
}
结果为:
总文件数为:3595
最大的文件是F:\学习资料\Tensorflow 实战Google深度学习框架.pdf,大小为:101397846字节
最小的文件是F:\学习资料\隐喻\ECCE_2.0_Corpus\句子\r001064687.ZH.txt,大小为:30字节
一共耗时:722ms
3.傻瓜式计算耗时操作
long startTime = System.currentTimeMillis();
long endTime = System.currentTimeMillis();