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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾宇 中级黑马   /  2014-8-7 16:31  /  1056 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 曾宇 于 2014-8-9 17:24 编辑

代码如下:
  1. import java.io.*;
  2. class showDirDemo
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.                 File dir = new File("d:\\");
  7.                 showDir(dir);
  8.         }
  9.         public static void showDir(File dir) throws IOException{
  10.                 BufferedOutputStream bufos = new BufferedOutputStream(new FileOutputStream("c:\\隐藏文件列表.txt"));
  11.                 File[] files = dir.listFiles();//列出指定目录下文件和文件夹,存入到File数组
  12.                 for(File file : files){//循环目录
  13.                         if(file.isDirectory()){//判断是否是文件夹
  14.                                 showDir(file);//如果是文件夹,继续循环判断
  15.                         }else{
  16.                                 if(file.isHidden()){//判断是否是隐藏文件
  17.                                         System.out.println(file.isHidden());
  18.                                         System.out.println(file.toString());
  19.                                         bufos.write(file.toString().getBytes());//将隐藏文件地址写入文件中
  20.                                         bufos.flush();
  21.                                 }
  22.                         }
  23.                 }
  24.                 bufos.close();
  25.         }
  26. }
复制代码

现在遇到两个问题。第一:代码运行显示打印几条隐藏文件后,nullpointer异常。不明白是哪里出的异常,请高手分析。
第二:对获取的隐藏文件路径输出到txt文件中,文件创建后,没有文字输出。请高手分析。

问题已解决第一,系统隐藏文件权限问题。
第二,重复创建BufferedOutputStream

0 个回复

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