- import java.io.*;
- //把f盘下所有的mp4结尾的文件的绝对路径给输出在控制台。
- /*
- 1、封装目录
- 2、获取该目录下所有文件或文件夹的File数组
- 3、遍历该数组
- 4、判断是否是文件
- 是:
- 判断文件是否以mp4结尾:
- 是:输出该文件的绝对路径
- 否:不搭理它
-
- 否:回到2
- */
- class DiGui
- {
- public static void main(String[] args)
- {
- File file1=new File("f:\\行尸走肉5");//封装目录,注意:如果是根目录,会出现空指针异常
- getAllMp4File(file1);
- }
- public static void getAllMp4File(File file)//
- {
- File[] fileArray=file.listFiles();//获取该目录下所有文件或文件夹的File数组
- for (File file2: fileArray)//遍历该数组,得到每一个File对象
- {
- if (file2.isFile())//判断是否是文件
- {
- if (file2.getName().endsWith("mp4"))
- {
- System.out.println(file2.getAbsolutePath());
- }
- }
- else
- getAllMp4File(file2);
- }
-
- }
- }
复制代码
很奇怪,获取C D E F 任意根目录下的mp4文件时,编译都没有问题,但是运行的时候都出现空指针异常。但是如果获取指定文件夹里的mp4文件就不出错,请问为什么呢,难道不能直接获取根目录吗?
|
|