1 package com.filetest; 2 3 import java.io.File; 4 import java.util.Scanner; 5 6 public class fileview { 7 8 public static void main(String args[]){ 9 10 view(); //调用查看文件列表函数 11 12 } 13 14 private static void view() { 15 16 Scanner scanner=new Scanner(System.in); 17 System.out.println("请输入一个目录:"); 18 19 String path=scanner.next(); //输入路径 20 21 File file=new File(path); 22 23 if(!file.exists()||!file.isDirectory()){ //判断路径是否存在 24 25 if(path.equals("end")) //路径不存在则进入判断内,如果输入的不是end则递归调用重新输入 26 { 27 System.out.println("程序结束,感谢使用!"); 28 System.exit(-1); 29 } 30 else 31 { 32 System.out.println("输入的路径不存在,请重新输入!(输入end退出程序)"); 33 view(); 34 } 35 36 } 37 38 String[] names=file.list(); //将路径下的文件和目录存入字符串数组中 39 40 int i=0; 41 int t=0; 42 String[] filename=new String[100]; //存放文件名字 43 String[] Directory=new String[100]; //存放目录名字 44 45 for(String name:names){ 46 47 File files=new File(path+"\"+name); 48 49 if(files.isFile()) //判断是文件则存入文件字符串数组中 50 { 51 filename[i]=files.getName(); 52 i++; 53 } 54 else //判断是目录则存入目录字符串数组中 55 { 56 Directory[t]=files.getName(); 57 t++; 58 } 59 60 } 61 62 System.out.println("该目录下一共有"+(i)+"个文件,它们的列表如下:"); //输出文件名 63 for(int x=0; x<i;x++){ 64 System.out.println(filename[x]); 65 System.out.println(); 66 67 } 68 69 System.out.println(); 70 71 System.out.println("该目录下一共有"+(t)+"个文件夹,它们的列表如下:");//输出目录名 72 for(int x=0; x<t;x++){ 73 System.out.println(Directory[x]); 74 System.out.println(); 75 } 76 77 } 78 79 }