这两天改进优化项目中图片上传的代码.考虑到可能有7.8M的比較大的图片,由于要先进行压缩.所以设计到文件的压缩,保存与清空删除操作. 在这里记下笔记. /** * 压缩并另存为,每次先清空再保存 */ private void compressFile(){ //清空保存文件夹下的旧照片 String saveDir = Environment.getExternalStorageDirectory() + "/bag/uploadPictures"; File imageDir =…
1..gz   gzip 压缩工具压缩的文件 .bz2   bzip2 压缩工具压缩的文件 .tar   tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件) .tar.gz   可以理解为先用tar打包,然后再gzip压缩 .tar.bz2   同上,先用tar打包,然后再bzip2压缩 2.gzip压缩工具 语法: gzip [-d#] filename 其中#为1-9的数字 参数: “-d” : 解压缩时使用 “-#” : 压缩等级,1压缩最差,9压缩最好,6为…
前言: 上一篇文章写了在Android中利用SharedPreferences保存数据,SharedPreferences在保存数据的时候主要是保存一些应用程序的设置信息或者少量的用户信息,并且是以key-value形式保存的String类的信息,比较有局限性.比如你需要保存从网络获取的图片到本地作为缓存数据,并且数量比较大,SharedPreferences就不能满足你的需求了,这个时候就要用到基本上所有平台都会用到的文件保存.   Android中以文件形式把数据保存到磁盘上与其他平台基本上…
原文:Android菜鸟的成长笔记(15)-- Android中的状态保存探究(下) 在上一篇中我们简单了解关于Android中状态保存的过程和原理,这一篇中我们来看一下在系统配置改变的情况下保存数据及恢复数据的过程. 下面我们先来看一个现象:(代码在 Android中状态保存探究(上)中) 先启动应用如下: 打印的Log 再翻转屏幕 打印的Log如下 可以看到每翻转一次屏幕实际上系统会停止原理的activity并销毁然后重新启动一次,在这个过程中会调用onSaveInstanceState方法…
Zip文件结构 ZIP文件结构如下图所示, File Entry表示一个文件实体,一个压缩文件中有多个文件实体. 文件实体由一个头部和文件数据组,Central Directory由多个File header组成,每个File header都保存一个文件实体的偏移,文件最后由End of central directory结束. 用到的类 ZipFile 此类用于从 ZIP 文件读取条目ZipEntry,在解压时用到 ZipEntry 此类用于表示 ZIP 文件条目 ZipOutputStrea…
写在前面 上节我们通过简单的几组命令,已经完全的实现了文件的移动.删除.更名.以及复制,我们最常用的基本玩法,本节将带着大家学习压缩.解压的相关步骤. Linux 学习笔记 4 创建.复制.移动.文件的基本操作 压缩解压还是比较常见并且常用的,比如从Apache 这种开源网站下载比如Tomcat Maven 以及其他的软件的时候,下载下来的,一般都是以tar 结尾的压缩文件.如何解压 如何使用呢,我们本节都会涉及到. 认识curl Curl 是一款Linux 自带的下载工具,通过发起Http\…
在Android 官方开发文档中有一篇文档来介绍如何保存应用的数据,但笔者用过很多程序(从知名的到不知名的)处理的都不是很完美,或者 没有按照Android 开发团队建议的方式去保存他们应用的数据.当一些试用过的软件卸载后,在SDCard中还保留了这些软件的文件目录,时间一长就有很多目录需要手工去清理,并且很难确认那些目录是仍然在使用的 那些目录已经没用了,给用户带来困扰.这里我们来讨论下该如何正确的保存应用的数据. 首先数据分为两种:和应用相关的数据:和应用无关的数据.这里分别介绍: 应用无关…
原文:[置顶] Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上) 我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话来了,当接完电话游戏继续玩),某些应用甚至会保留你离开时候的状态及数据,这些原理是什么?怎么去实现这样的应用?这将是我们这一篇文章要解开的问题. 有一句很常见的代码如下,很多人不知道为什么要加这么一句话 @Override protected void onCreate(Bundle savedIn…
1.读取压缩文件:ZipInputStream 借助ZipFile类的getInputStream方法得到压缩文件的指定项的内容,然后传递给InputStreamReader类的构造方法,返回给BufferedReader类实例化,从而使得指定项的内容输出到内存中. 2.压缩文件:ZipOutputStream 2.1 注意,zipOut.putNextEntry(entry);// 此方法会清空zip文件原来存在的内容,然后写入文件,并将流定位到条目数据的开始处,直到关闭ZipOutputSt…
数据保存:在软件开发中我们希望保存下各个Activity数据,以实现客户数据的时时保存,达到较好的用户体验. 那么我们需要解决如下问题: 1.什么时候保存? 2.保存哪些数据?     我想保存应用产生的数据,而这些用户的数据是在Activity与用户进行交互的时候产生的,就是界面上的数据,或者状态. 3.如何进行保存? 4.保存到哪里? 5.编写合适的例子? 创造思路,去哪寻找答案,首先,我想保存应用产生的数据,而这些用户的数据是在Activity与用户进行交互的时候产生的,所以我们进入Act…