美文网首页
查询文件夹的最大文件和最小文件

查询文件夹的最大文件和最小文件

作者: Jamie_372b | 来源:发表于2020-09-22 01:46 被阅读0次

查询文件夹的最大和最小文件,包括有子文件夹的。使用的递归的方法实现。缺点是有一样大小的文件时,只能获取一个文件名。

package cn.com.javase;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class Tset_File {

public static void main(String[] args) {

System.out.println("请输入文件的路径");

        Scanner sca =new Scanner(System.in);

        String str = sca.nextLine();

        File file =new File(str);

        MaxFile maxf =new MaxFile();

        maxf.maxFile(file);

      // System.out.println(maxf.list);

        System.out.println("最大的文件是:"+maxf.list.get(0));

        System.out.println("最大的文件的名字是:"+maxf.name);

        System.out.println("最大的文件的路径是"+maxf.path);

        System.out.println("____________");

        MinFile minf =new MinFile();

        minf.minFile(file);

      // System.out.println(minf.list);

        System.out.println("最小的文件是:"+minf.list.get(0));

        System.out.println("最小的文件的名字是:"+minf.name);

        System.out.println("最小的文件的路径是"+minf.path);

    }

}

class  MaxFile {

Listlist =new ArrayList();  //创建动态数组来存放数据

    Stringname;

    Stringpath;

    public list maxFile(File file) {

File[] f = file.listFiles();

        for (int i =0; i < f.length; i++) {

if (f[i].isDirectory()) {

//continue;

                maxFile(f[i]);

            }else if (f[i].isFile()) {

if (list.size() <=0) {/*第一次执行,把第一个检测到文件放进动态数组*/

                    list.add(0, f[0].length());/*把数据放在动态数组的第一个位置*/

                }else {

if (f[i].length() >= (long)list.get(0)) {/*每次跟动态数组的第一个作比较*/

                        list.add(0, f[i].length());/*每次把数据放在动态数组的第一个位置*/

                    }

}

}

long max = (long)list.get(0);

            if(max == f[i].length()){

name = f[i].getName();

                path = f[i].getAbsolutePath();

            }

}

return (list)list;

    }

}

class MinFile{

Listlist =new ArrayList();

    Stringname;

    Stringpath;

    public list minFile(File file){

File[] f = file.listFiles();

        for (int i =0; i < f.length; i++) {

if (f[i].isDirectory()) {

//continue;

                minFile(f[i]);

            }else if (f[i].isFile()) {

if (list.size() <=0) {/*第一次执行,把第一个检测到文件放进动态数组*/

                    list.add(0, f[0].length());/*把数据放在动态数组的第一个位置*/

                }else {

if (f[i].length() <= (long)list.get(0)) {/*每次跟动态数组的第一个作比较*/

                        list.add(0, f[i].length());/*每次把数据放在动态数组的第一个位置*/

                    }

}

}

long mix = (long)list.get(0);

            if(mix == f[i].length()){

name = f[i].getName();

                path = f[i].getAbsolutePath();

            }

}

return  (list)list;

    }

}

相关文章

  • 查询文件夹的最大文件和最小文件

    查询文件夹的最大和最小文件,包括有子文件夹的。使用的递归的方法实现。缺点是有一样大小的文件时,只能获取一个文件名。...

  • linux常用命令

    清空某文件夹下面的所有文件的内容 查询服务器支持的ssh的加密方式 查询文件中的字符串 批量替换文件夹下文件中的某...

  • 统计文件个数

    1.【linux命令】 统计一个文件夹下有多少个文件 python实现:非递归,只能查询到当前文件夹下的,不能查询...

  • 查看当前文件目录各个文件夹大小

    1. 查看当前文件目录各个文件夹大小 注意:是文件夹 结果显示是:当前目录下的各个文件夹的大小,不会查询各文件下的...

  • git的建立

    1、版本的查询 2、管理信息 3、文件提交 (1)在文件夹中创建目录文件 (2)查看文件状态 (3)文件添加 ① ...

  • Mac 电脑闪存占用之终端命令查询篇

    主要命令 du -sh * 查询当前电脑中每个文件占用空间大小 du -d 1 -h 查询当前文件夹中每个文件占用...

  • 007—Linux常用命令

    解压 改名称 复制文件夹 对文件夹及其子文件赋权 Centos操作 查询Java还有哪些 删除 安装jdk 关闭防火墙

  • linux简单查询命令

    Linux查询命令 find . -name bug* 查找当前目录和子目录下所有前缀为bug的文件及文件夹,...

  • 关于git

    git下载地址https://git-scm.com/本地创建文件夹,在文件夹内git clone 远程地址 查询...

  • 2018-09-20 Android清除缓存(Kotlin)

    获取文件或文件夹大小 删除文件或文件夹 获取缓存大小 (也就是cache文件夹和files文件夹的大小,sf等其他...

网友评论

      本文标题:查询文件夹的最大文件和最小文件

      本文链接:https://www.haomeiwen.com/subject/kssiyktx.html