iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android应用中如何对文件进行压缩与解压缩
  • 393
分享到

Android应用中如何对文件进行压缩与解压缩

androidroi 2023-05-31 10:05:52 393人浏览 八月长安
摘要

Android应用中如何对文件进行压缩与解压缩?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用场景当我们在应用的Assets目录中需要加入文件时,可以直接将源文件放入,但这样

Android应用中如何对文件进行压缩与解压缩?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

使用场景

当我们在应用的Assets目录中需要加入文件时,可以直接将源文件放入,但这样会造成打包后的apk整体过大,此时就需要将放入的文件进行压缩.又如当我们需要从服务器中下载文件时,如果下载源文件耗时又消耗流量,较大文件需要压缩,可以使得传输效率大大提高.下面我们就学习下基本的文件压缩和解压缩.Java中提供了压缩和解压缩的输入输出流

public static void zip(String src,String dest) throwsioException {  //定义压缩输出流  ZipOutputStreamout = null;  try {    //传入源文件    File outFile= newFile(dest);    File fileOrDirectory= newFile(src);    //传入压缩输出流    out = newZipOutputStream(newFileOutputStream(outFile));    //判断是否是一个文件或目录    //如果是文件则压缩    if (fileOrDirectory.isFile()){      zipFileOrDirectory(out,fileOrDirectory, "");    } else {      //否则列出目录中的所有文件递归进行压缩      File[]entries = fileOrDirectory.listFiles();      for (int i= 0; i < entries.length;i++) {        zipFileOrDirectory(out,entries,"");      }    }  }catch(IOException ex) {    ex.printStackTrace();  }finally{    if (out!= null){      try {        out.close();      }catch(IOException ex) {        ex.printStackTrace();      }    }  }}private static void zipFileOrDirectory(ZipOutputStream out, File fileOrDirectory, String curPath)throwsIOException {  FileInputStreamin = null;  try {    //判断目录是否为null    if (!fileOrDirectory.isDirectory()){      byte[] buffer= new byte[4096];      int bytes_read;      in= newFileInputStream(fileOrDirectory);      //归档压缩目录      ZipEntryentry = newZipEntry(curPath + fileOrDirectory.getName());      //将压缩目录写到输出流中      out.putNextEntry(entry);      while ((bytes_read= in.read(buffer))!= -1) {        out.write(buffer,0, bytes_read);      }      out.closeEntry();    } else {      //列出目录中的所有文件      File[]entries = fileOrDirectory.listFiles();      for (int i= 0; i < entries.length;i++) {        //递归压缩        zipFileOrDirectory(out,entries,curPath + fileOrDirectory.getName()+ "/");      }    }  }catch(IOException ex) {    ex.printStackTrace();  }finally{    if (in!= null){      try {        in.close();      }catch(IOException ex) {        ex.printStackTrace();      }    }  }}

上述代码存在问题,若文件压缩后仍然很大怎么办,换句话说文件压缩率低也是问题,java中也专门对linux提供了高压缩率的输入输出流,其使用方法和上述代码相似.高压缩率输入输出流:(GZIPInputStream和GZIPOutputStream)

文件压缩

public static void zip(File srcFile, File desFile)throwsIOException {  GZIPOutputStreamzos = null;  FileInputStreamfis = null;  try {    //创建压缩输出流,将目标文件传入    zos = newGZIPOutputStream(newFileOutputStream(desFile));    //创建文件输入流,将源文件传入    fis = newFileInputStream(srcFile);    byte[] buffer= new byte[1024];    int len= -1;    //利用IO流写入写出的形式将源文件写入到目标文件中进行压缩    while ((len= (fis.read(buffer)))!= -1) {      zos.write(buffer,0, len);    }  }finally{    close(zos);    close(fis);  }}

文件解压缩

public static void unZip(File srcFile,File desFile) throws IOException {  GZIPInputStream zis= null;  FileOutputStreamfos = null;  try {    //创建压缩输入流,传入源文件    zis = new GZIPInputStream(newFileInputStream(srcFile));    //创建文件输出流,传入目标文件    fos = newFileOutputStream(desFile);    byte[] buffer= new byte[1024];    int len= -1;    //利用IO流写入写出的形式将压缩源文件解压到目标文件中    while ((len= (zis.read(buffer)))!= -1) {      fos.write(buffer,0, len);    }  }finally{    close(zis);    close(fos);  }}

看完上述内容,你们掌握Android应用中如何对文件进行压缩与解压缩的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Android应用中如何对文件进行压缩与解压缩

本文链接: https://www.lsjlt.com/news/224940.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android应用中如何对文件进行压缩与解压缩
    Android应用中如何对文件进行压缩与解压缩?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用场景当我们在应用的Assets目录中需要加入文件时,可以直接将源文件放入,但这样...
    99+
    2023-05-31
    android roi
  • 利用Java怎么对文件进行压缩与解压缩
    今天就跟大家聊聊有关利用Java怎么对文件进行压缩与解压缩,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。用java压缩/解压文件: import java.io.*; im...
    99+
    2023-05-31
    java ava
  • Android如何实现压缩和解压缩文件
    废话不多说了,直接给大家贴java代码了,具体代码如下所示: Java代码 package com.maidong.utils; import java.io.Buffe...
    99+
    2022-06-06
    压缩 解压 Android
  • 使用Java怎么对字符串进行压缩与解压缩
    本篇文章给大家分享的是有关使用Java怎么对字符串进行压缩与解压缩,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java可以用来干什么Java主要应用于:1. web开发;2....
    99+
    2023-06-06
  • java如何解压与压缩文件夹
    这篇文章将为大家详细讲解有关java如何解压与压缩文件夹,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。注意:JDK7支持设置编码设置编码格式 zipFile,zipInputStream,zipOutpu...
    99+
    2023-05-31
    java
  • 如何在Android应用中对图片进行压缩
    本篇文章给大家分享的是有关如何在Android应用中对图片进行压缩,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、质量压缩法设置bitmap options属性,降低图片的质...
    99+
    2023-05-31
    android 中对 roi
  • Linux如何使用命令进行压缩与解压缩操作
    这篇文章将为大家详细讲解有关Linux如何使用命令进行压缩与解压缩操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在学习压缩和解压缩之前。首先,要了解一下打包、压缩、解压缩的基本概念。打包文件:一看到 ...
    99+
    2023-06-09
  • Android应用中怎么对图片进行压缩
    Android应用中怎么对图片进行压缩?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。为何要压缩体积的原因如果你的图片是要准备上传的,那动辄几M的大小肯定不行的,况且图片分辨率大...
    99+
    2023-05-31
    android roi
  • Linux中.tar.xz文件如何解压压缩
    小编给大家分享一下Linux中.tar.xz文件如何解压压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!安装如果系统没有xz命令,需要进行安装,安装方法非常简单...
    99+
    2023-06-09
  • windows中winrar压缩文件如何解压
    这篇“windows中winrar压缩文件如何解压”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows中winrar...
    99+
    2023-07-04
  • Win10如何使用自带压缩、解压zip压缩文件功能
      Windows系统自带不少工具,到了Win10,好用的功能依然保留,比如压缩/解压zip压缩文件的功能。压缩文件能为系统节省空间,这一功能必不可少。Win10如何使用压缩/解压zip压缩文件功能?   Win10压缩...
    99+
    2023-06-10
    Win10 压缩 功能 自带 压缩文件
  • 如何在Android中对字符串进行压缩
    这期内容当中小编将会给大家带来有关如何在Android中对字符串进行压缩,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用到的类库GZIPOutputStream代码示例import java....
    99+
    2023-05-30
    android 字符串
  • Python底层技术揭秘:如何实现文件压缩与解压缩
    Python底层技术揭秘:如何实现文件压缩与解压缩文件压缩与解压缩是我们在日常开发中经常需要处理的任务之一。Python作为一种强大的编程语言,提供了丰富的库和模块来处理文件操作,其中包括文件压缩与解压缩的功能。本文将揭秘Python底层技...
    99+
    2023-11-09
    Python 解压缩 文件压缩 底层技术
  • Linux平台中用Python脚本操作实现文件压缩与解压缩
    Linux平台中利用Python脚本进行文件压缩与解压缩是一种十分便捷和高效的方法。在本文中,我们将讨论如何使用Python编写脚本来实现文件的压缩和解压缩,并提供具体的代码示例。一、文件压缩文件压缩是将一个或多个文件打包并压缩成一个单独的...
    99+
    2023-10-22
    Python Linux 文件压缩
  • 里有Java如何实现压缩与解压zip文件
    里有Java如何实现压缩与解压zip文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java解压缩zip - 多个文件(包括文件夹),对多个文件和文件夹进行压...
    99+
    2023-05-31
    java ava zip
  • 如何在Python中处理文件压缩和解压缩的问题
    如何在Python中处理文件压缩和解压缩的问题简介:在日常开发和工作中,我们经常会遇到需要处理文件压缩和解压缩的问题。Python提供了一些强大的库,使得我们可以轻松地处理文件的压缩和解压缩操作。本文将介绍Python中常用的文件压缩和解压...
    99+
    2023-10-22
    压缩 文件 解压缩
  • 云虚拟机如何对FTP空间内的文件进行压缩或解压
    云虚拟机对FTP空间内文件进行压缩或解压的方法:1、登录云虚拟机控制台;2、点击左侧“云虚拟主机”;3、选择“云虚拟主机管理”;4、在列表中找到需要操作的云虚拟主机,点击右侧“管理”;5、在操作管理的文件系统设置中点击“压缩解压缩”;6、最...
    99+
    2022-10-24
  • java中怎么利用7zip对压缩包进行解压的
    java中怎么利用7zip对压缩包进行解压的?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。7zip命令行7z <command> [<switches&g...
    99+
    2023-05-31
    java ava 7zip
  • 如何在Linux中使用Gzip压缩和解压文件
    这篇文章主要介绍“如何在Linux中使用Gzip压缩和解压文件”,在日常操作中,相信很多人在如何在Linux中使用Gzip压缩和解压文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux中使用Gz...
    99+
    2023-06-13
  • 如何使用WinRar对VB.NET文件压缩
    这篇文章给大家分享的是有关如何使用WinRar对VB.NET文件压缩的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。因为一些数据库文件(如Access文件)在远程传输过程中可能由于文件比较大而影响传递效果。如果进行...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作