20210903小练习

本文介绍了如何使用Java的File和Date类来模拟DOS命令行中的dir功能,展示了遍历指定路径下所有文件和目录,打印文件的修改时间、类型、名称以及文件大小的实现代码。通过这段代码,可以学习到Java对文件操作的基础知识。
摘要由CSDN通过智能技术生成

20210903小练习

今天学习了File类和Date类 ,仿照DOS中的dir命令打印如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oAJOmK8U-1630666882437)(C:\Users\GENGHAO\AppData\Roaming\Typora\typora-user-images\image-20210903084507050.png)]

package com.yjxxt.file01;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

/**
 * 模仿cmd中dir的功能
 *先遍历出指定路径下所有的文件内容
 *判断每个文件的类型 然后对应文件的修改时间  文件名
 *计算每个文件的大小(长度)汇总后输出
 *
 */
public class FileWork01 {
    public static void main(String[] args) {
        File file = new File("D:/CCC");
        System.out.println(file);
        //只能返回当前路径下的
        System.out.println(Arrays.toString(file.list()));
        //获取指定路径下所有文件的字符串数组
        String[] str = file.list();
        //声明变量存储文件个数
        int num = 0;
        //声明变量存储目录个数
        int num1 = 0;
        //声明变量存储文件大小
        long numSum = 0;
        //声明变量存储目录大小
        long num1Sum = 0;

        for (int i = 0;i< str.length;i++){
            File n = new File(file,str[i]);
            //创建Date对象
            Date date = new Date(n.lastModified());
            //按照默认格式打印 生成最后修改时间
            System.out.print(new SimpleDateFormat().format(date)+"\t");
            //判断目录类型并输出
            if (n.isDirectory()){
                System.out.print("<DIR>"+"\t");
                num1++;
                num1Sum += n.length();
            }
            if (n.isFile()){
                System.out.print("     "+"\t");
                num++;
                numSum += n.length();
            }
            System.out.println(n.getName());
            //生成大小和长度
//            System.out.println(n.length());
        }
        System.out.println("\t"+num+"个文件"+"\t"+numSum+"字节");
        System.out.println("\t"+num1+"个目录"+" "+(file.getTotalSpace()-numSum-num1Sum)+"可用字节");


    }

}

效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值