java遍历文件内容_JAVA实现File类中的遍历操作并输出内容

packageshb.java.testIo;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.Writer;importjava.util.HashMap;/*** File类操作(此代码效率不是很高———>输出格式有欠缺。功能还是可以实现的,仅仅是饭后茶凉小憩一下)

* @Package:shb.java.testIo

* @Description:遍历文件夹下所有文件,对于有内容的文件,保存其内容并输出至指定文本文件,最后输出的是map集合。

*@authorshaobn

* @Date 2015-9-6上午11:34:53*/

public classdemo1 {public static void main(String[] args) throwsException {

File dir= new File("D:\\testRemove");

File target= new File("D:\\target.txt");

BufferedWriter bw= new BufferedWriter(newFileWriter(target));

HashMap map = new HashMap();

method1(dir,bw,map);

method3(map.toString(), bw);

}//遍历文件夹下所有文件,对于有内容的文件全部写到一个文本文件中。

public static void method1(File dir,Writer writer,HashMapmap){

File[] files=dir.listFiles();for(File file:files){if(file.isDirectory()){

method1(file, writer,map);

}else{if(file.length()!=0){

map.put(file.getName(), method2(file));

}

}

}

}//读取文件里面的内容

public staticString method2(File file){

BufferedReader br= null;

StringBuffer sb= newStringBuffer();try{

br= new BufferedReader(newFileReader(file));

String line= null;while((line = br.readLine())!=null){

sb.append(line);

}

}catch(Exception e) {//TODO: handle exception

e.printStackTrace();

}finally{try{if(br!=null){

br.close();

}

}catch(Exception e2) {//TODO: handle exception

e2.printStackTrace();

}

}returnsb.toString();

}//将读取的路径以及相应的内容写入指定的文件

public static voidmethod3(String str,Writer writer){try{

writer.write(str);

}catch(Exception e) {//TODO: handle exception

}finally{try{if(writer!=null)

writer.close();

}catch(Exception e2) {//TODO: handle exception

e2.printStackTrace();

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值