java io 读取文件代码

  1. package com.hoo.utils;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.BufferedWriter;  
  5. import java.io.File;  
  6. import java.io.FileReader;  
  7. import java.io.FileWriter;  
  8. import java.io.IOException;  
  9. import java.util.ArrayList;  
  10. import java.util.List;  
  11.   
  12. public class OperateFileUtils {  
  13.   
  14.     /*************************************************************************** 
  15.      * <b>function:</b> 在java中 路径/需要替换成// 
  16.      * @createDate 2010-6-4 上午11:18:45 
  17.      * @param file 替换的文件 
  18.      * @return 替换后的路径 
  19.      */  
  20.     private static String getAvailablePath(File file) {  
  21.         return file.getPath().replace('//', '/');  
  22.     }  
  23.   
  24.     /*************************************************************************** 
  25.      * <b>function:</b> 返回某个文件夹下所有的文件 
  26.      * @createDate 2010-6-4 上午11:21:07 
  27.      * @param fileList 找到的文件集合 
  28.      * @param path 路径 
  29.      * @param fileSuffix 要找的文件后缀 
  30.      */  
  31.     public static void getFiles(List<File> fileList, String path, String fileSuffix) {  
  32.         File file = new File(path);  
  33.         File[] files = file.listFiles();  
  34.         if (files == null) {  
  35.             return;  
  36.         } else {  
  37.             for (int i = 0; i < files.length; i++) {  
  38.                 // 判断是否是文件夹  
  39.                 if (files[i].isDirectory()) {  
  40.                     // 递归调用getFiles方法,得到所有的文件  
  41.                     getFiles(fileList, getAvailablePath(files[i]), fileSuffix);  
  42.                 } else if (files[i].getName().lastIndexOf(fileSuffix) != -1) {// 只处理fileSuffix后缀的文档  
  43.                     // copyFileAndAddPackageName(files[i]);  
  44.                     fileList.add(files[i]);// 添加到文件集合中  
  45.                 }  
  46.                 // System.out.println(files[i].getAbsolutePath().replace('//',  
  47.                 // '/'));  
  48.             }  
  49.         }  
  50.     }  
  51.   
  52.     /*************************************************************************** 
  53.      * <b>function:</b> 把文件内容复制到指定文件中 
  54.      * @createDate 2010-6-4 下午12:09:42 
  55.      * @author 3hhuj 胡佳 
  56.      * @param file 要操作的文件 
  57.      * @param toFile 保存的文件 
  58.      */  
  59.     public static void copyFile2TempFile(List<File> fileList, File toFile) {  
  60.         BufferedWriter bw = null;  
  61.         BufferedReader br = null;  
  62.         FileWriter fileWriter = null;  
  63.         FileReader fileReader = null;  
  64.         try {  
  65.             StringBuilder sb = new StringBuilder();  
  66.             String content = "";  
  67.             for (File textFile : fileList) {  
  68.                 System.out.println(textFile.getName());  
  69.                 fileReader = new FileReader(textFile);// 读取文件的内容  
  70.                 br = new BufferedReader(fileReader);  
  71.                 while ((content = br.readLine()) != null) {  
  72.                     System.out.println(content);  
  73.                     if (!content.trim().equals("")) {  
  74.                         sb.append(content);// .append("/r");  
  75.                     }  
  76.                 }  
  77.             }  
  78.             fileWriter = new FileWriter(toFile);// 向文件中写入刚才读取文件中的内容  
  79.             bw = new BufferedWriter(fileWriter);  
  80.             bw.write(sb.toString());  
  81.         } catch (Exception e) {  
  82.             e.printStackTrace();  
  83.         } finally {  
  84.             try {  
  85.                 bw.close();  
  86.                 br.close();  
  87.                 fileWriter.close();  
  88.                 fileReader.close();  
  89.             } catch (IOException e) {  
  90.                 e.printStackTrace();  
  91.             }  
  92.         }  
  93.     }  
  94.   
  95.     /*************************************************************************** 
  96.      *  <b>function:</b> 读取单个文件 
  97.      * @createDate 2010-6-4 下午01:42:33 
  98.      * @param file 读取内容的文件 
  99.      * @param toFile 保存后的文件 
  100.      */  
  101.     public static void copyFile2TempFile(File file, File toFile) {  
  102.         BufferedWriter bw = null;  
  103.         BufferedReader br = null;  
  104.         FileWriter fileWriter = null;  
  105.         FileReader fileReader = null;  
  106.         try {  
  107.             StringBuilder sb = new StringBuilder();  
  108.             String content = "";  
  109.             fileReader = new FileReader(file);// 读取文件的内容  
  110.             br = new BufferedReader(fileReader);  
  111.             while ((content = br.readLine()) != null) {  
  112.                 System.out.println(content);  
  113.                 if (!content.trim().equals("")) {  
  114.                     sb.append(content);// .append("/r");  
  115.                 }  
  116.             }  
  117.             fileWriter = new FileWriter(toFile);// 向文件中写入刚才读取文件中的内容  
  118.             bw = new BufferedWriter(fileWriter);  
  119.             bw.write(sb.toString());  
  120.         } catch (Exception e) {  
  121.             e.printStackTrace();  
  122.         } finally {  
  123.             try {  
  124.                 bw.close();  
  125.                 br.close();  
  126.                 fileWriter.close();  
  127.                 fileReader.close();  
  128.             } catch (IOException e) {  
  129.                 e.printStackTrace();  
  130.             }  
  131.         }  
  132.     }  
  133.   
  134.     public static void main(String[] args) {  
  135.         List<File> fileList = new ArrayList<File>();  
  136.         getFiles(fileList, "c:/txt_test", ".txt");  
  137.         getFiles(fileList, "c:/txt", ".txt");  
  138.         // 将读取的内容放入tempFile中  
  139.         File tempFile = new File("c://temp.txt");  
  140.         if (!tempFile.exists()) {  
  141.             try {  
  142.                 //不存在就创建一个  
  143.                 tempFile = File.createTempFile("temp", ".txt", new File("c://"));  
  144.             } catch (IOException e) {  
  145.                 e.printStackTrace();  
  146.             }  
  147.         }  
  148.         //copyFile2TempFile(fileList, tempFile);  
  149.         copyFile2TempFile(new File("c://a.txt"), tempFile);  
  150.     }  
  151. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值