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)+"可用字节");
}
}
效果