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(文件夹路径); //使用路径删除文件夹 |
2016年12月8日 10:19 沙发