使用字节流复制一个文件夹

package com.tanlei.Demo;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
 * 使用字节流复制一个文件夹
 */
public class CopyDirDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
     try {
        CopyDirUtil.copy(new File("D:\\360Safe"),new File("D:\\360Downloads") );
        System.out.println("成功");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }

}

class CopyDirUtil{
    public  static void  copy(File src,File dst) throws IOException{//src源文件夹   dst目标文件夹
           dst.mkdirs();//创建目标文件夹
           if(src!=null) {
               File[] files=src.listFiles();//遍历源文件夹中的所有文件和目录
               if(files!=null) {
                   for(File f:files) {
                       if(f.isFile()) {//如果是文件夹
                           //复制文件
                           FileInputStream fileInputStream=new FileInputStream(f);
                           FileOutputStream fOutputStream=new FileOutputStream(dst.getAbsolutePath()+"\\"+f.getName());
                            byte[] buff=new byte[1024*1024];
                            int len=0;//保存的是读到的字节个数;
                            while((len=fileInputStream.read(buff))!=-1) {
                               fOutputStream.write(buff, 0, len);
                            }
                            fileInputStream.close();
                            fOutputStream.close();
                       }else {//如果是文件
                           copy(f, new File(dst.getAbsolutePath()+"\\"+f.getName()));
                       }
                   }
               }
           }
    }
}

原文地址:https://www.cnblogs.com/tanlei-sxs/p/9853744.html

时间: 2024-11-09 09:26:30

使用字节流复制一个文件夹的相关文章

复制一个文件夹下所有的文件和子文件夹内容到另一个文件夹

PS:涉及单个文件复制.目录的创建.递归的使用 public class CopyAllFiles {  public static void main(String[] args) {   copyDirectory("F:\\XXX", "F:\\YYY");  }    //复制文件的方法  public static void copyFiles(File sourceFile, File targetFile) {   //声明   BufferedInp

如何将一个文件夹复制到另一个文件夹中并保留其权限

概要 本文分步介绍了如何将一个文件夹复制到另一个文件夹中并保留其权限.   当您使用 Windows Explorer 复制或移动文件和文件夹时,在这些文件或文件夹上设置的权限可能会发生改变.例如,当您在一个 NTFS 文件系统卷内或在两个 NTFS 卷之间复制一个文件时,Windows 2000 将把它当作一个新文件.作为一个新文件,它将具有目标文件夹的权限,您将成为"创建者所有者".    注意:您必须对目标文件夹具有"写"权限才能复制文件和文件夹.    可以

Java File IO 练习题:把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.In

C# 将文件夹中文件复制到另一个文件夹

C# 将文件夹中文件复制到另一个文件夹 //新建一个文件夹 var imgPath = Directory.GetCurrentDirectory() + "\\DevicePic1"; if (!Directory.Exists(imgPath)) { Directory.CreateDirectory(imgPath); } var a = picpath;//需要进行复制的图片的路径 var b= a.Substring(a.LastIndexOf('.'));//截取后缀名 v

复制多级文件,将一个文件夹中的所有内容复制到另一个文件夹中

复制多级文件,将一个文件夹中的所有内容复制到另一个文件夹中. 设计递归方法,通过传入源文件和目的文件,将源文件中内容完全复制到目的文件中:代码如下: private static void copyFolder(File srcFile, File destFile) throws IOException { //srcFile为源文件,destFile为目的文件 if (srcFile.isDirectory()) { File newFolder = new File(destFile, s

shell 查出文件并复制到另一个文件夹

找出所有大于100M的文件并展示出来 find / -size +100M -exec ls -lh {} \; 找出特定文件内大于200字节的文件并备份到另一个文件夹里去 find /opt/test -type f  -size +200c -exec cp {} /opt/test/cp/   \;

java 把一个文件夹里图片复制到另一个文件夹里

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Calendar; public class SendServer { private int num = 0; public void process() { Calendar calendar = Calendar.getInstance(); String dir = calendar.

Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例

1. 复制多级文件夹的案例 需求:复制多级文件夹   数据源:E:\JavaSE\day21\code\demos 目的地:E:\   分析:         A:封装数据源File         B:封装目的地File         C:判断该File是文件还是文件夹        a:是文件夹 就在目的地目录下创建该文件夹 获取该File对象下的所有文件或者文件夹File对象 遍历得到每一个File对象 回到C                     b:是文件             

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu