源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java文件操作工具类实现复制文件和文件合并

  • 时间:2020-08-24 02:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java文件操作工具类实现复制文件和文件合并
两个方法: 1、复制一个目录下面的所有文件和文件夹 2、将一个文件目录下面的所有文本文件合并到同一个文件中
[u]复制代码[/u] 代码如下:
package com.firewolf.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class FileReaderUtil {  public static void main(String[] args){   try {    //mergeFile(new File("C:/Documents and Settings/liuxing0/桌面/新建文件夹/script"), new File("D:/all.sql"));    copyFiles(new File("G:/学习资料/笔记"),new File("G:/Test"));   } catch (IOException e) {    e.printStackTrace();   }  }  /**   * 拷贝某个文件目录下面的所有文件,   * @param sourcePath 原文件目录   * @param desPath 目的文件目录   */  private static void copyFiles(File sourceFile,File desFile) throws IOException{   if(sourceFile.isFile()){    File file = new File(desFile.getPath()+"/"+sourceFile.getName());    FileInputStream fis = new FileInputStream(sourceFile);    FileOutputStream fos = new FileOutputStream(file);    int len = 0;    byte[] buf = new byte[1024];    while((len = fis.read(buf)) != -1)     fos.write(buf,0,len);   }else{    File dir = new File(desFile.getPath()+"/"+sourceFile.getName());    if(!dir.exists())     dir.mkdir();    String[] names = sourceFile.list();    for (int i = 0; i < names.length; i++) {     copyFiles(new File(sourceFile.getPath()+"/"+names[i]),dir);    }   }  }  /**   * 将一个文件目录下面的所有文件独到一个文件中的方法(主要用于将很多文本文件合并到一起)   * @param sourceFile   * @param decFile   * @return   * @throws IOException   */  private static File mergeFile(File sourceFile,File decFile) throws IOException{   String[] fileList = sourceFile.list();   for (String string : fileList) {    File file = new File(sourceFile.getPath()+"/"+string);    if(!file.isDirectory()){     FileInputStream fis = new FileInputStream(file);     FileOutputStream fos = new FileOutputStream(decFile, true);     byte[] buffer = new byte[1024];     int len = 0;     while((len= fis.read(buffer)) != -1)      fos.write(buffer, 0, len);    }    else {     decFile = mergeFile(file,decFile);    }   }   return decFile;  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部