正在阅读:

Java模拟dir命令显示文件信息列表

windows下面的dir命令想必大家都用过,本文将介绍如何在使用java来实现类似dir的功能,模式dir命令显示文件列表信息。

目标效果

目标效果

 

java代码


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package file;
import java.io.*;
import java.text.SimpleDateFormat;    //    日期格式转换工具包
import java.util.*;
class readFile {
    private String path;    //定义文件夹路径
    public readFile(){}
    public readFile(String path){
        this.path=path;
    }
    public File fileTest(){
        File dir=new File(path);
        if(!dir.exists()){
            System.out.println("文件夹不存在,已退出程序!");
            System.exit(0);
        }
        if(!dir.isDirectory()){
            System.out.println("不是文件夹,已退出程序!");
            System.exit(0);
        }
        return dir;
    }
    public void display(){
        int dirNum=0;
        int fileNum=0;
        long fileLength=0;
        File dir=fileTest();
    //    String dirList[]=dir.list();    //返回文件名字符串数组
        File filePath[]=dir.listFiles();    //返回抽象路径名的定义中表示此抽象路径名的目录中的文件的数组。
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd  HH:mm:ss");    //定于返回的时间样式
        System.out.println(path+" 的目录\n");
        for(int i=0;i<filePath.length;i++){
            String date = formatter.format(filePath[i].lastModified());    //将时间戳转换为时间
            if(filePath[i].isDirectory()){
                dirNum++;                //文件夹数量+1
                fileLength+=filePath[i].length();
                System.out.printf("%10s%10s%10s%s\n",date,"<DIR>","",filePath[i].getName());// 日期,文类型,文件大小,文件名
            }else{
                fileNum++;                //文件数量+1
                fileLength+=filePath[i].length();
                System.out.printf("%10s%10s%10s%s\n",date,"",filePath[i].length()+" ",filePath[i].getName());
            }            
        }
        System.out.print(fileNum+" 个文件\t"+dirNum+" 个目录\t"+fileLength+" 字节 ");
    }
    public static void main(String args[]){
        Scanner s = new Scanner(System.in);
        String str = null;
        System.out.println("请输入您的文件夹路径:");
        str = s.nextLine();
        readFile dir=new readFile(str);
        dir.display();
        s.close();            //如果不关闭会触发警告
    }
}

运行结果

运行结果

Java文件操作知识

1.导包:import java.io.*;   导入包含IO输入输出流操作方法的包。

2.创建文件对象:File file=new File("文件或文件夹路径");

3.常用文件及文件夹操作方法:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   file.exists()  //检测文件是否存在
   file.createNewFile()  //创建文件
   file.isFile()    //判断是否是文件
   file.length()   //返回文件或文件夹的大小
   file.lastModified()  //返回文件或文件夹最后被修改的日期
   file.getName()    //返回文件名
   file.getPath()    //返回文件相对路径
   file.getAbsolutePath()  //返回文件绝对路径
   file.delete();   //删除文件或文件夹
   mkdir()       //创建一级文件夹
   mkdirs()   //创建多级文件夹(只要路径中给的文件夹若不存在就自动创建出来)
   dir.list()  //返回文件夹中的文件名字字符串数组 如:String str[]=dir.list();
   dir.listFiles()   //返回抽象路径名的定义中表示此抽象路径名的目录中的文件的数组,如:File pathFile[]=dir.listFiles();
   pathFile[i].isDirectory()  //判断是否是是文件夹
   deleteFile(文件路径)    //使用路径删除文件
   deleteDirectory(文件夹路径);   //使用路径删除文件夹

目前有:0条访客评论,博主回复1

  1. kTWO
    2016-12-08 10:19

    :mrgreen:

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌