• 技术文章 >Java >java教程

    java如何将图片生成.tar文件

    angryTomangryTom2020-02-26 17:00:18原创823

    java如何将图片生成.tar文件

    .tar是一种压缩格式的后缀,使用java也可以实现将文件压缩成tar格式,下面我们定义一个tarCompression(String[] filesPathArray, String resultFilePath) 方法来实现这一功能。

    (相关视频教程分享:java视频教程

    1、实现tarCompression(String[] filesPathArray, String resultFilePath)

    /* tar打包压缩
     * @param filesPathArray 要压缩的文件的全路径(数组)
     * @param resultFilePath 压缩后的文件全文件名(.tar)
     * @throws Exception
     */
    public static boolean tarCompression(String[] filesPathArray, String resultFilePath) throws Exception {
        System.out.println(" tarCompression -> Compression start!");
        FileOutputStream fos = null;
        TarArchiveOutputStream taos = null;
        try {
            fos = new FileOutputStream(new File(resultFilePath));
            taos = new TarArchiveOutputStream(fos);
            for (String filePath : filesPathArray) {
                BufferedInputStream bis = null;
                FileInputStream fis = null;
                try {
                    File file = new File(filePath);
                    TarArchiveEntry tae = new TarArchiveEntry(file);
                    // 此处指明 每一个被压缩文件的名字,以便于解压时TarArchiveEntry的getName()方法获取到的直接就是这里指定的文件名
                    // 以(左边的)GBK编码将file.getName()“打碎”为序列,再“组装”序列为(右边的)GBK编码的字符串
                    tae.setName(new String(file.getName().getBytes("GBK"), "GBK"));
                    taos.putArchiveEntry(tae);
                    fis = new FileInputStream(file);
                    bis = new BufferedInputStream(fis);
                    int count;
                    byte data[] = new byte[1024];
                    while ((count = bis.read(data, 0, 1024)) != -1) {
                        taos.write(data, 0, count);
                    }
                } finally {
                    taos.closeArchiveEntry();
                    if (bis != null) 
                        bis.close();
                    if (fis != null) 
                        fis.close();
                }
            } 
        } finally {
            if (taos != null) 
                taos.close();
            if (fos != null) 
                fos.close();
            
        }
        System.out.println(" tarCompression -> Compression end!");
        return true;
    }

    2、使用定义的tarCompression方法将图片压缩生成.tar文件。

    public static void main(String[] args) {   
        tarCompression(new String["a.png", "b.png"], "e:\test.tar")
    }

    PHP中文网,大量免费编程学习课程,欢迎学习。

    以上就是java如何将图片生成.tar文件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:java 图片 .tar
    上一篇:java二分法查找怎么实现 下一篇:java语言是一种面向对象的程序设计语言吗
    大前端线上培训班

    相关文章推荐

    • 关于Linux下.tar.xz文件的解压方法详解• event.target和时间计算实例详解• .tar.xz文件在Linux下的解压方法• java二分法查找怎么实现

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网