欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2020-11-06 23:52:02|栏目:JAVA代码|点击:

两个方法:
1、复制一个目录下面的所有文件和文件夹
2、将一个文件目录下面的所有文本文件合并到同一个文件中

复制代码 代码如下:

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

上一篇:java中如何获取时间戳的方法实例

栏    目:JAVA代码

下一篇:Java Socket编程(一) Socket传输模式

本文标题:java文件操作工具类实现复制文件和文件合并

本文地址:http://www.codeinn.net/misctech/19806.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有