java报空指针_java程序报空指针异常

importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;publicclassStorageJavaDemo{/***@paramargs*@throwsIOException*/publicstaticvoidmain(String[]args)thro...

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

public class StorageJavaDemo {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

/*

* 需求:对指定目录中的所有(包含子目录)的Java文件的绝对路径写入到一个文本文件中。

* 这样查找某个java文件会比较便捷。

* 思路:

* 1、首先要遍历到所有的目录及其目录的子文件夹及其子文件,由于不知道目录层级,所以要用到递归

* 2、由于只需要java文件所以要用到文件过滤器

* 3、由于java文件不止一个,所以要定义一个容器将其存进去

* 4、然后将其写入到一个文件中,这需要用到写入流

*/

//将一一个文件封装成对象

File f=new File("E:\\");

//定义一个容器用于存储遍历到的java文件

StringBuilder sb=new StringBuilder();

//定义一个写出流对象

FileWriter fw=new FileWriter("E:\\java.txt");

storageJava(f,sb);

//定义一个功能写出输出文件

outPutJava(fw,sb);

}

public static void outPutJava(FileWriter fw, StringBuilder sb) throws IOException {

String str=sb.toString();

char[] ch=new char[str.length()];

fw.write(ch);

fw.flush();

fw.close();

}

public static void storageJava(File f,StringBuilder sb) {

//遍历文件

File[] f2=f.listFiles();

if(f2!=null);

//使用递归方法找出文件夹中的java文件

for (File f1:f2) {

if(f1.isDirectory()){

storageJava(f1,sb);

}else{

//如果不是目录就把java文件存到哪容器中

if(f.getName().endsWith(".java"));

sb.append(f1.getAbsolutePath());

}

}

}

}

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值