
本片我将为大家讲解如何获取用户输入的文件路径,获取指定路径以及路径下所有的文件和目录,而且可以统计文件和目录的数量。
提示:以下是本篇文章正文内容,下面案例可供参考
一、主要的类import java.io.File;
import java.util.Arrays;
import java.util.Scanner;
public class FileTest {
public static void main(String[] args) {
System.out.println("请输入你想要查询的文件路径:");
Scanner sc = new Scanner(System.in);
// 如果文件路径名有空格会发生异常,需要使用 nextLine 去获取输入的内容
String pathName = sc.nextLine();
System.out.println(pathName);
File file = new File(pathName);
System.out.println("当前路径的文件是否存在:" + file.exists());
System.out.println("文件名称:" + file.getName());
System.out.println("文件的长度:" + file.length());
System.out.println("文件最后一次修改的时间:" + file.lastModified());
System.out.println("文件的绝对路径:" + file.getAbsolutePath());
System.out.println("=============================");
}
}
2.2 然后我们开始写查询展示所有文件和目录的方法
public static void show(File file) {
File[] files = file.listFiles();
if (null != files) {
for (int i = 0; i < files.length; i++) {
String result = files[i].isFile()? "一个文件": "一个目录";
System.out.println(files[i] + "t" + result);
if ("一个目录".equals(result)) {
FileTest.directoryNum++;
show(files[i]);
} else {
FileTest.fileNum++;
}
}
}
}
2.3最终代码
import java.io.File;
import java.util.Arrays;
import java.util.Scanner;
public class FileTest {
public static int fileNum = 0;
public static int directoryNum = 0;
public static void show(File file) {
File[] files = file.listFiles();
if (null != files) {
for (int i = 0; i < files.length; i++) {
String result = files[i].isFile()? "一个文件": "一个目录";
System.out.println(files[i] + "t" + result);
if ("一个目录".equals(result)) {
FileTest.directoryNum++;
show(files[i]);
} else {
FileTest.fileNum++;
}
}
}
}
public static void main(String[] args) {
System.out.println("请输入你想要查询的文件路径:");
Scanner sc = new Scanner(System.in);
// 如果文件路径名有空格会发生异常,需要使用 nextLine 去获取输入的内容
String pathName = sc.nextLine();
System.out.println(pathName);
File file = new File(pathName);
System.out.println("当前路径的文件是否存在:" + file.exists());
System.out.println("文件名称:" + file.getName());
System.out.println("文件的长度:" + file.length());
System.out.println("文件最后一次修改的时间:" + file.lastModified());
System.out.println("文件的绝对路径:" + file.getAbsolutePath());
System.out.println("=============================");
// 循环遍历当前目录下所有的文件,包括子目录中的所有文件
show(file);
System.out.println("=============================");
System.out.println("总计:文件数量:" + FileTest.fileNum + "; 目录数量:" + FileTest.directoryNum);
}
}
三,运行结果的展示,截图