package shb.java.testIo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Writer;
import java.util.HashMap; /**
* File类操作(此代码效率不是很高———>输出格式有欠缺。功能还是可以实现的,仅仅是饭后茶凉小憩一下)
* @Package:shb.java.testIo
* @Description:遍历文件夹下所有文件,对于有内容的文件,保存其内容并输出至指定文本文件,最后输出的是map集合。
* @author shaobn
* @Date 2015-9-6上午11:34:53
*/
public class demo1 {
public static void main(String[] args) throws Exception {
File dir = new File("D:\\testRemove");
File target = new File("D:\\target.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(target));
HashMap<String, String> map = new HashMap<String,String>();
method1(dir,bw,map);
method3(map.toString(), bw);
}
// 遍历文件夹下所有文件,对于有内容的文件全部写到一个文本文件中。
public static void method1(File dir,Writer writer,HashMap<String,String> map){
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 static String method2(File file){
BufferedReader br = null;
StringBuffer sb = new StringBuffer();
try {
br = new BufferedReader(new FileReader(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();
}
}
return sb.toString(); }
//将读取的路径以及相应的内容写入指定的文件
public static void method3(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();
}
} }
}

如有错误,望大家纠正一下。

JAVA实现File类中的遍历操作并输出内容的更多相关文章

  1. java.io.File类

    java.io.File类 1.凡是与输入.输出相关的类.接口等都定义在java.io包下 2.File是一个类.能够有构造器创建其对象.此对象相应着一个文件(.txt .avi .doc .ppt ...

  2. Java学习:File类中的过滤器接口

    javaIO类的File类应用:过滤器接口 FilenameFilter和FileFilter都是用来过滤文件的 例如: 过滤以.jpg或者.java结尾的文件. 通过看他们的源码: 通过使用File ...

  3. Java 之 File类(文件操作)

    一.概述 java.io.File 类是文件和目录路径名册抽象表示,主要用于文件和目录的创建.查找和删除等操作. File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法. 路径问题: ...

  4. java.io.File类操作

    一.java.io.File类 String path="E:/222/aaa";//路径 String path1="aaa.txt"; File file= ...

  5. Java分享笔记:File类中常用方法的介绍

    java.io包下的File类用于描述和创建一个文件或文件夹对象,只能对文件或文件夹做一些简单操作,不能修改文件的内容,功能比较有限.下面是对于File类中常用方法的程序演示. [1] 演示程序一 p ...

  6. Java中 IO类 - File类中的判断功能

    package com.hxzy.IOSer;import java.io.*;public class Demo05 { public static void main(String[] args) ...

  7. Java之File类

    一.初见File类 java.io.File类代表系统中的文件(文件或目录) 常用构造方法 File(String pathname) File(String parent, String child ...

  8. 33.JAVA编程思想——JAVA IO File类

    33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...

  9. 小白学Java:File类

    目录 小白学Java:File类 不同风格的分隔符 绝对与相对路径 File类常用方法 常用构造器 创建方法 判断方法 获取方法 命名方法 删除方法 小白学Java:File类 我们可以知道,存储在程 ...

随机推荐

  1. HBase的二级索引,以及phoenix的安装(需再做一次)

    一:HBase的二级索引 1.讲解 uid+ts 11111_20161126111111:查询某一uid的某一个时间段内的数据 查询某一时间段内所有用户的数据:按照时间 索引表 rowkey:ts+ ...

  2. self.nsme 和 _name 的问题

    .h文件 @interface myclass:NSObject @property(nonatomic,retain)NSArray*MyArray; @end .m文件 @implementati ...

  3. Echart - 地图散点图(服务网点图)的实现

    Echart是百度开发的一个javascript图表库,可以流程运行于pc和移动端,底层依赖轻量级的 Canvas 类库 ZRender. ECharts 提供了常规的折线图,柱状图,散点图,饼图,K ...

  4. Selenium2学习-023-WebUI自动化实战实例-021-获取浏览器显示区域大小,通过 WebDriver 截图功能

    之前的博文 020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小) 简述了通过 JavaScript 获取浏览器显示区域大小,此文将简述另一种获取浏览器显 ...

  5. Windows-008-VirtualBox 安装 Win7 前沿配置详解

    此文主要讲述在 Windows 系统下安装虚拟机 VirtualBox,及用 VirtualBox 安装 Win7 Professional 64bit 操作系统的前沿配置为例,配以图文进行详细的讲解 ...

  6. iis7.5应用程序池模板永久性缓存初始化失败解决方法

    错误: 针对应用程序池的模板永久性缓存初始化失败,这是由以下错误导致的: 无法为应用程序池创建磁盘缓存子目录.数据可能包含其他错误代码. 解决办法如下: 网上搜索的答案全都是修改3个目录的权限,给II ...

  7. LintCode Subtree

    原题链接在这里:http://www.lintcode.com/en/problem/subtree/ You have two every large binary trees: T1, with ...

  8. jboss漏洞导致服务器中毒

    中毒现象 1. 网络出现拥塞,访问延迟增加. 2. 系统定时任务表中出现异常的定时任务. 3. 出现异常进程. 4. $JBOSS_HOME/bin或/root目录下出现大量的异常文件.     现象 ...

  9. css实现元素居中

     参见详细教程,该教程涵盖了所有居中的情况: https://css-tricks.com/centering-css-complete-guide/ css元素居中 1.水平居中 1)文本,图片等行 ...

  10. 转:CDC,CPaintDC,CClientDC,CWindowDC区别

    http://www.cnblogs.com/songsu/articles/1350014.html