- package com.hoo.utils;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- public class OperateFileUtils {
- /***************************************************************************
- * <b>function:</b> 在java中 路径/需要替换成//
- * @createDate 2010-6-4 上午11:18:45
- * @param file 替换的文件
- * @return 替换后的路径
- */
- private static String getAvailablePath(File file) {
- return file.getPath().replace('//', '/');
- }
- /***************************************************************************
- * <b>function:</b> 返回某个文件夹下所有的文件
- * @createDate 2010-6-4 上午11:21:07
- * @param fileList 找到的文件集合
- * @param path 路径
- * @param fileSuffix 要找的文件后缀
- */
- public static void getFiles(List<File> fileList, String path, String fileSuffix) {
- File file = new File(path);
- File[] files = file.listFiles();
- if (files == null) {
- return;
- } else {
- for (int i = 0; i < files.length; i++) {
- // 判断是否是文件夹
- if (files[i].isDirectory()) {
- // 递归调用getFiles方法,得到所有的文件
- getFiles(fileList, getAvailablePath(files[i]), fileSuffix);
- } else if (files[i].getName().lastIndexOf(fileSuffix) != -1) {// 只处理fileSuffix后缀的文档
- // copyFileAndAddPackageName(files[i]);
- fileList.add(files[i]);// 添加到文件集合中
- }
- // System.out.println(files[i].getAbsolutePath().replace('//',
- // '/'));
- }
- }
- }
- /***************************************************************************
- * <b>function:</b> 把文件内容复制到指定文件中
- * @createDate 2010-6-4 下午12:09:42
- * @author 3hhuj 胡佳
- * @param file 要操作的文件
- * @param toFile 保存的文件
- */
- public static void copyFile2TempFile(List<File> fileList, File toFile) {
- BufferedWriter bw = null;
- BufferedReader br = null;
- FileWriter fileWriter = null;
- FileReader fileReader = null;
- try {
- StringBuilder sb = new StringBuilder();
- String content = "";
- for (File textFile : fileList) {
- System.out.println(textFile.getName());
- fileReader = new FileReader(textFile);// 读取文件的内容
- br = new BufferedReader(fileReader);
- while ((content = br.readLine()) != null) {
- System.out.println(content);
- if (!content.trim().equals("")) {
- sb.append(content);// .append("/r");
- }
- }
- }
- fileWriter = new FileWriter(toFile);// 向文件中写入刚才读取文件中的内容
- bw = new BufferedWriter(fileWriter);
- bw.write(sb.toString());
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- bw.close();
- br.close();
- fileWriter.close();
- fileReader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- /***************************************************************************
- * <b>function:</b> 读取单个文件
- * @createDate 2010-6-4 下午01:42:33
- * @param file 读取内容的文件
- * @param toFile 保存后的文件
- */
- public static void copyFile2TempFile(File file, File toFile) {
- BufferedWriter bw = null;
- BufferedReader br = null;
- FileWriter fileWriter = null;
- FileReader fileReader = null;
- try {
- StringBuilder sb = new StringBuilder();
- String content = "";
- fileReader = new FileReader(file);// 读取文件的内容
- br = new BufferedReader(fileReader);
- while ((content = br.readLine()) != null) {
- System.out.println(content);
- if (!content.trim().equals("")) {
- sb.append(content);// .append("/r");
- }
- }
- fileWriter = new FileWriter(toFile);// 向文件中写入刚才读取文件中的内容
- bw = new BufferedWriter(fileWriter);
- bw.write(sb.toString());
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- bw.close();
- br.close();
- fileWriter.close();
- fileReader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public static void main(String[] args) {
- List<File> fileList = new ArrayList<File>();
- getFiles(fileList, "c:/txt_test", ".txt");
- getFiles(fileList, "c:/txt", ".txt");
- // 将读取的内容放入tempFile中
- File tempFile = new File("c://temp.txt");
- if (!tempFile.exists()) {
- try {
- //不存在就创建一个
- tempFile = File.createTempFile("temp", ".txt", new File("c://"));
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- //copyFile2TempFile(fileList, tempFile);
- copyFile2TempFile(new File("c://a.txt"), tempFile);
- }
- }
java io 读取文件代码
最新推荐文章于 2023-08-02 22:41:26 发布