A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.*;
  2. //把f盘下所有的mp4结尾的文件的绝对路径给输出在控制台。
  3. /*
  4. 1、封装目录
  5. 2、获取该目录下所有文件或文件夹的File数组
  6. 3、遍历该数组
  7. 4、判断是否是文件
  8.           是:
  9.                      判断文件是否以mp4结尾:
  10.                                         是:输出该文件的绝对路径
  11.                                                         否:不搭理它
  12.                                          
  13.                   否:回到2

  14. */
  15. class DiGui
  16. {
  17.         public static void main(String[] args)
  18.         {
  19.                 File file1=new File("f:\\行尸走肉5");//封装目录,注意:如果是根目录,会出现空指针异常
  20.                 getAllMp4File(file1);

  21.         }
  22.         public static void getAllMp4File(File file)//
  23.         {
  24.                 File[] fileArray=file.listFiles();//获取该目录下所有文件或文件夹的File数组
  25.                 for (File file2: fileArray)//遍历该数组,得到每一个File对象
  26.                 {
  27.                         if (file2.isFile())//判断是否是文件
  28.                         {
  29.                                 if (file2.getName().endsWith("mp4"))
  30.                                 {
  31.                                         System.out.println(file2.getAbsolutePath());
  32.                                 }

  33.                         }
  34.                         else
  35.                                 getAllMp4File(file2);

  36.                 }
  37.        
  38.         }

  39. }
复制代码

很奇怪,获取C D E F 任意根目录下的mp4文件时,编译都没有问题,但是运行的时候都出现空指针异常。但是如果获取指定文件夹里的mp4文件就不出错,请问为什么呢,难道不能直接获取根目录吗?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马