【练习-Java输入输出之File类之获取文件信息】

练习-Java输入输出之File类之获取文件信息
链接:https://www.educoder.net/tasks/b65ogwltx4pq
任务描述
本关任务:输出给定目录下的最大文件和最小文件名以及它们的文件大小。

编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,输出给定目录下的最大文件和最小文件名,具体要求如下:

接收给定字符串(如:/test);
输出给定目录下的最大文件和最小文件名以及它们的文件大小(不考虑子目录)。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

例:
测试输入:

/test
预期输出:

最大的文件是d1.txt,其大小是80字节
最小的文件是d2.txt,其大小是15字节
代码:

import java.io.*;
import java.util.Arrays;
import java.util.Scanner;

public class FileTest {
    public static void main(String[] args){
        // 请在Begin-End间编写完整代码
        /********** Begin **********/
        // 接收给定字符串(目录)
      Scanner scanner=new Scanner(System.in);
      String input=scanner.next();
        // 遍历目录,输出最小文件和最大文件名以及它们的大小

        File f = new File(input);
        File[] fis = f.listFiles();
        if(null==fis)
            return;
        long minSize = Integer.MAX_VALUE;//定义最大用于比较
        long maxSize = 0;
        File minFile = null;
        File maxFile = null;
        for (File file : fis) {
            //判断是否是文件夹
            if(file.isDirectory())
                continue;
            if(file.length()>maxSize){
                maxSize = file.length();
                maxFile = file;
            }
            if(file.length()!=0 && file.length()<minSize){
                minSize = file.length();
                minFile = file;
            }
        }
        String maxf=maxFile.getName();
        String minf=minFile.getName();
        maxf.replace("/test/","");
        System.out.printf("最大的文件是%s,其大小是%,d字节%n",maxf,maxFile.length());
        System.out.printf("最小的文件是%s,其大小是%,d字节%n",minf,minFile.length());
 
 
    }
}

你可能感兴趣的:(Java,java,开发语言)