「java转zip」JAVA转大数据

博主:adminadmin 2022-12-12 07:00:06 77

今天给各位分享java转zip的知识,其中也会对JAVA转大数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何使用java压缩文件夹成为zip包(最简单的

import java.io.File;

public class ZipCompressorByAnt {

private File zipFile;

/**

* 压缩文件构造函数

* @param pathName 最终压缩生成的压缩文件:目录+压缩文件名.zip

*/

public ZipCompressorByAnt(String finalFile) {

zipFile = new File(finalFile);

}

/**

* 执行压缩操作

* @param srcPathName 需要被压缩的文件/文件夹

*/

public void compressExe(String srcPathName) {

System.out.println("srcPathName="+srcPathName);

File srcdir = new File(srcPathName);

if (!srcdir.exists()){

throw new RuntimeException(srcPathName + "不存在!");

}

Project prj = new Project();

Zip zip = new Zip();

zip.setProject(prj);

zip.setDestFile(zipFile);

FileSet fileSet = new FileSet();

fileSet.setProject(prj);

fileSet.setDir(srcdir);

//fileSet.setIncludes("**/*.java"); //包括哪些文件或文件夹 eg:zip.setIncludes("*.java");

//fileSet.setExcludes(...); //排除哪些文件或文件夹

zip.addFileset(fileSet);

zip.execute();

}    

}

public class TestZip {

public static void main(String[] args) {

ZipCompressorByAnt zca = new ZipCompressorByAnt("E:\\test1.zip ");

zca.compressExe("E:\\test1");

}  

}

/*如果 出现ant 的 52  51 50 等版本问题 可以去找对应的ant-1.8.2.jar     我开始用的ant-1.10.1.jar 就是这个包版本高了  一直报verson 52 版本问题*/

如何使用java压缩文件夹成为zip包

在JDK中有一个zip工具类:

java.util.zip    Provides classes for reading and writing the standard ZIP and

GZIP file formats.

使用此类可以将文件夹或者多个文件进行打包压缩操作。

在使用之前先了解关键方法:

ZipEntry(String name)         Creates a new zip entry with the specified name.

使用ZipEntry的构造方法可以创建一个zip压缩文件包的实例,然后通过ZipOutputStream将待压缩的文件以流的形式写进该压缩包中。具体实现代码如下:

import java.io.BufferedInputStream;  

import java.io.BufferedOutputStream;  

import java.io.File;  

import java.io.FileInputStream;  

import java.io.FileNotFoundException;  

import java.io.FileOutputStream;  

import java.io.IOException;  

import java.util.zip.ZipEntry;  

import java.util.zip.ZipOutputStream;  

/** 

 * 将文件夹下面的文件 

 * 打包成zip压缩文件 

 *  

 * @author admin 

 * 

 */  

public final class FileToZip {  

  

    private FileToZip(){}  

      

    /** 

     * 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下 

     * @param sourceFilePath :待压缩的文件路径 

     * @param zipFilePath :压缩后存放路径 

     * @param fileName :压缩后文件的名称 

     * @return 

     */  

    public static boolean fileToZip(String sourceFilePath,String zipFilePath,String fileName){  

        boolean flag = false;  

        File sourceFile = new File(sourceFilePath);  

        FileInputStream fis = null;  

        BufferedInputStream bis = null;  

        FileOutputStream fos = null;  

        ZipOutputStream zos = null;  

          

        if(sourceFile.exists() == false){  

            System.out.println("待压缩的文件目录:"+sourceFilePath+"不存在.");  

        }else{  

            try {  

                File zipFile = new File(zipFilePath + "/" + fileName +".zip");  

                if(zipFile.exists()){  

                    System.out.println(zipFilePath + "目录下存在名字为:" + fileName +".zip" +"打包文件.");  

                }else{  

                    File[] sourceFiles = sourceFile.listFiles();  

                    if(null == sourceFiles || sourceFiles.length1){  

                        System.out.println("待压缩的文件目录:" + sourceFilePath + "里面不存在文件,无需压缩.");  

                    }else{  

                        fos = new FileOutputStream(zipFile);  

                        zos = new ZipOutputStream(new BufferedOutputStream(fos));  

                        byte[] bufs = new byte[1024*10];  

                        for(int i=0;isourceFiles.length;i++){  

                            //创建ZIP实体,并添加进压缩包  

                            ZipEntry zipEntry = new ZipEntry(sourceFiles[i].getName());  

                            zos.putNextEntry(zipEntry);  

                            //读取待压缩的文件并写进压缩包里  

                            fis = new FileInputStream(sourceFiles[i]);  

                            bis = new BufferedInputStream(fis, 1024*10);  

                            int read = 0;  

                            while((read=bis.read(bufs, 0, 1024*10)) != -1){  

                                zos.write(bufs,0,read);  

                            }  

                        }  

                        flag = true;  

                    }  

                }  

            } catch (FileNotFoundException e) {  

                e.printStackTrace();  

                throw new RuntimeException(e);  

            } catch (IOException e) {  

                e.printStackTrace();  

                throw new RuntimeException(e);  

            } finally{  

                //关闭流  

                try {  

                    if(null != bis) bis.close();  

                    if(null != zos) zos.close();  

                } catch (IOException e) {  

                    e.printStackTrace();  

                    throw new RuntimeException(e);  

                }  

            }  

        }  

        return flag;  

    }  

      

    public static void main(String[] args){  

        String sourceFilePath = "D:\\TestFile";  

        String zipFilePath = "D:\\tmp";  

        String fileName = "12700153file";  

        boolean flag = FileToZip.fileToZip(sourceFilePath, zipFilePath, fileName);  

        if(flag){  

            System.out.println("文件打包成功!");  

        }else{  

            System.out.println("文件打包失败!");  

        }  

    }  

      

}

java 如何将 txt 文件 变成zip压缩文件? 求例子!!

这个要用 压缩流类 ZipOutputStream

下面是一个例子 在D盘下有个 名字叫 demo.txt的文件.程序运行后会再D盘下生成一个demo.zip的文件,以下是代码:

import java.io.*;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

public class ZipOutputStreamDemo {

public static void main(String args[]) throws IOException {

//定义要压缩的文件 也就是说在D盘里有个 demo.txt 的文件(必须要有,否者会有异常,实际应用中可判断);

File file = new File("d:" + File.separator + "demo.txt");

//定义压缩文件的名称

File zipFile = new File("d:" + File.separator + "demo.zip");

//定义输入文件流

InputStream input = new FileInputStream(file);

//定义压缩输出流

ZipOutputStream zipOut = null;

//实例化压缩输出流,并制定压缩文件的输出路径 就是D盘下,名字叫 demo.zip

zipOut = new ZipOutputStream(new FileOutputStream(zipFile));

zipOut.putNextEntry(new ZipEntry(file.getName()));

//设置注释

zipOut.setComment("");

int temp = 0;

while((temp = input.read()) != -1) {

zipOut.write(temp);

}

input.close();

zipOut.close();

}

}

希望能帮助楼主,建议楼主多看看JDK文档,设计到文件的输出什么都在JAVA.IO包里,好好看看..

不过楼主要知道,压缩流也是inputstream和outputstream的子类,但是并没有定义在java.io包里,而是以一个工具类的形式出现的,但是在用的时候还是需要java.io包的支持的...

关于java转zip和JAVA转大数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。