• 将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面


    将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面

     1 import java.io.*;
     2 import java.util.zip.ZipEntry;
     3 import java.util.zip.ZipOutputStream;
     4 
     5 public class DirCopy {
     6     public static void main(String[] args) throws Exception{
     7         dirZipCopy("E:/source","F:/source.zip");
     8     }
     9     /**
    10      * 文件夹压缩备份
    11      * @param fromDir 要压缩备份的文件夹
    12      * @param toDir 压缩至的路径
    13      * @throws Exception
    14      */
    15     public static void dirZipCopy(String fromDir,String toDir) throws Exception{
    16         //创建ZIP输出流
    17         ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(toDir));
    18         //递归处理文件夹
    19         zipCopy(new File(fromDir),zos,"");
    20         zos.close();
    21     }
    22     /**
    23      * 压缩复制文件
    24      * @param fromDir 要压缩的文件
    25      * @param zos ZIP输出流
    26      * @param path 相对于ZIP文件的路径
    27      * @throws Exception
    28      */
    29     private static void zipCopy(File fromDir,ZipOutputStream zos,String path) throws Exception{
    30         if(fromDir.exists()){
    31             if(fromDir.isDirectory()){
    32                 path += fromDir.getName()+"/";
    33                 zos.putNextEntry(new ZipEntry(path));
    34                 File[] files=fromDir.listFiles();
    35                 if(files != null){
    36                     for(int i=0;i<files.length;i++){
    37                         zipCopy(files[i],zos,path);
    38                     }
    39                 }
    40             }else{
    41                 //putNextEntry():开始写入新的 ZIP 文件条目并将流定位到条目数据的开始处。
    42                 zos.putNextEntry(new ZipEntry(path+fromDir.getName()));
    43                 InputStream is=new FileInputStream(fromDir);
    44                 int len=0;
    45                 byte[] b=new byte[1024];
    46                 while((len=is.read(b))!=-1){
    47                     zos.write(b,0,len);
    48                     zos.flush();
    49                 }
    50                 is.close();
    51             }
    52         }
    53     }
    54 }

     文件复制

     1 public class FileCopy2 {
     2     public static void main(String[] args) {
     3         fileCopy("F:/abc.rmvb", "F:/source/abc.rmvb");
     4     }
     5     public static void fileCopy(String srcFileSource,String destFileSource){
     6         try {
     7             //读取原文件内容
     8             FileInputStream in=new FileInputStream(srcFileSource);
     9             FileOutputStream out=new FileOutputStream(destFileSource);
    10             int len=0;
    11             byte[] indata=new byte[1024*10];
    12             while((len=in.read(indata))!=-1){
    13                 out.write(indata);
    14             }
    15             in.close();
    16             out.close();
    17         } catch (Exception e) {
    18             e.printStackTrace();
    19         }
    20     }
    21 }
  • 相关阅读:
    ovs 数据包的处理过程
    Docker常用命令
    java中的各种锁详细介绍
    Oracle中的一些基本操作
    Java连接MySQL8.0以上版本数据库方式
    关于Maven+Tomcat7下cannot be cast to javax.servlet.Servlet问题的解决办法
    冒泡排序及优化详解
    Java集合类的概述
    关于java中构造方法、实例初始化、静态初始化执行顺序
    git push 时 failed to push some refs 的解决方案
  • 原文地址:https://www.cnblogs.com/gw811/p/2718976.html
Copyright © 2020-2023  润新知