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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ~与狼共舞~ 中级黑马   /  2013-5-23 23:35  /  1748 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ~与狼共舞~ 于 2013-5-24 22:31 编辑

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class Demo3 {

        public static void main(String[] args) throws IOException {
               
                File file = new File("D:/");
                show(file);
        }

        public static void show(File file) throws IOException {
                file.listFiles();
                File[] arr = file.listFiles();
                for (File f : arr) {
                        if (f.isFile() && f.getName().endsWith(".java")) {
                                BufferedWriter bw = new BufferedWriter(new FileWriter(
                                                "java.txt", true));
                                bw.write(f.getName());        
                                bw.newLine();                                       
                                bw.close();
                        } else if (f.isDirectory()) {
                                show(f);
                        }

                }
        }

}
为什么我的代码读取的是D盘的一个文件夹的时候可以正常读写,
但当读取的是D盘的根目录的时候却提示:
Exception in thread "main" java.lang.NullPointerException错误呢?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 等待大神为您解答

查看全部评分

5 个回复

倒序浏览
我把你这个程序运行了没问题啊,没有报java.lang.NullPointerException异常啊
                  黑马云青年为您解答
回复 使用道具 举报
xiewen 发表于 2013-5-24 00:59
我把你这个程序运行了没问题啊,没有报java.lang.NullPointerException异常啊
                  黑马云青 ...

不够详细
回复 使用道具 举报
xiewen 发表于 2013-5-24 00:59
我把你这个程序运行了没问题啊,没有报java.lang.NullPointerException异常啊
                  黑马云青 ...

尽量给楼主有代码有注释的讲解出来,这样会提高自己的技术
回复 使用道具 举报

  1. import java.io.BufferedWriter;
  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.IOException;

  5. public class Test{

  6.         public static void main(String[] args) throws IOException {
  7.                [color=Red] File file = new File("D:\\");        //分隔符写错了[/color]
  8.                 show(file);
  9.         }

  10.         public static void show(File file) throws IOException {
  11.                 [color=Red]//file.listFiles();                //多余代码,[/color]
  12.                 File[] arr = file.listFiles();
  13.                 for (File f : arr) {
  14.                         if (f.isFile() && f.getName().endsWith(".java")) {
  15.                                 [color=Red]//创建的java.txt文件要在统一目录的话,要写上完整路径f.getParent()[/color]
  16.                                 BufferedWriter bw = new BufferedWriter(new FileWriter(f.getParent()+File.separator+               
  17.                                                 "java.txt", true));
  18.                                 bw.write(f.getName());        
  19.                                 bw.newLine();     
  20.                                 bw.close();
  21.                         } else if (f.isDirectory()) {
  22.                                 System.out.println(f.getName());
  23.                                 show(f);
  24.                         }

  25.                 }
  26.         }

  27. }
复制代码
回复 使用道具 举报
像这种“java.lang.NullPointerException”的异常,把图贴出来,哪行报的错!
Java是搞对象的,是对象都有可能出现“java.lang.NullPointerException”!

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马