• JAVA实现File类中的遍历操作并输出内容


    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();
                }
            }
            
        }
    }

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

    吾宁做一叶扁舟,始航于湖边,遨游于海上,浪迹于江中。
  • 相关阅读:
    P1169 [ZJOI2007]棋盘制作[悬线法/二维dp]
    P2279 [HNOI2003]消防局的设立[树形dp]
    Django项目部署
    Python3编译安装以及创建虚拟运行环境
    ASA与N6K对接
    Django使用admin管理后台管理数据库表
    WebStrom配置
    H3C常用配置和命令
    VPC配置介绍
    Linux下编译安装MySQL
  • 原文地址:https://www.cnblogs.com/assassin666/p/4785181.html
Copyright © 2020-2023  润新知