压缩文件最基本原理——map实现

文件压缩的最基本原理:

例:将字符串:String str =
"AAAAABBBBCCCCDDDEEEFFFF"; 算法压缩为:A5B4C4D3E3F4

package main;

import java.util.*;

public class Test {

public static void main(String[]args) {

String str = "AAAAABBBBCCCCDDDEEEFFFF";

Map<String, Integer> maps= new TreeMap<String, Integer>();

List resList = new ArrayList();

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

String temp = str.substring(i,i + 1);

Integer count =maps.get(temp);

if (count == null) {

count = 1;

} else {

count++;

//System.out.println(count);

}

maps.put(temp, count);

}

for(String key : maps.keySet()){

System.out.print(key+maps.get(key));

}

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-24 20:01:11

压缩文件最基本原理——map实现的相关文章

java上传图片到数据库,涉及压缩文件zip/rar上传等

项目中有这个需求: 1)上传文件通过公司平台的校验,校验成功后,通过接口,返回文件流: 2)我们根据这个文件流进行操作.这里,先将文件流复制文件到项目临时目录WEB-INF/temp;文件使用完毕,删除之: 项目中用到了下面几点: 解压zip.rar文件: 临时文件存放,使用完毕删除之: 对压缩包中的图片进行裁剪,生成预览图,并保存: 根据产品族.产品类型.产品系列展示图片: 项目代码比较多,慢慢贴出来,不足之处欢迎指正. 1.项目结构: 2.相关代码: ProductController: p

hadoop对于压缩文件的支持及算法优缺点

hadoop对于压缩文件的支持及算法优缺点   hadoop对于压缩格式的是透明识别,我们的MapReduce任务的执行是透明的,hadoop能够自动为我们 将压缩的文件解压,而不用我们去关心. 如果我们压缩的文件有相应压缩格式的扩展名(比如lzo,gz,bzip2等),hadoop就会根据扩展名去选择解码器解压. 压缩格式 工具 算法 文件扩展名 多文件 可分割性 DEFLATE 无 DEFLATE .deflate 不 不 gzip gzip DEFLATE .gz 不 不 ZIP zip

hadoop mapreduce开发实践之HDFS压缩文件(-cacheArchive)

1.分发HDFS压缩文件(-cacheArchive) 需求:wordcount(只统计指定的单词[the,and,had...]),但是该文件存储在HDFS上的压缩文件,压缩文件内可能有多个文件,通过-cacheArchive的方式进行分发: -cacheArchive hdfs://host:port/path/to/file.tar.gz#linkname.tar.gz #选项在计算节点上缓存文件,streaming程序通过./linkname.tar.gz的方式访问文件. 思路:redu

[转]Ubuntu Linux 安装 .7z 解压和压缩文件

原文网址:http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-get install p7zip-full 解压文件: 7z x manager.7z -r -o /home/xx解释如下:x 代表解压缩文件,并且是按原始目录解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)manager.7z 是压缩文件,这里大家要换成自己的.如果不在当前目录下要带上完整的目录-r

win7 通过命令行压缩文件

1,下载winrar这款软件(可能要正式版) 2,安装完之后在c:\programe files里找到winrar目录,复制winrar目录里的winRar.exe文件到c盘下的windows目录 3,新建一个文本文档,内容为: WinRAR a package.zip package 然后把文档的后缀名改为.cmd 意思就是把.cmd文件所在目录里的pakcage文件压缩成一分叫做package.zip的压缩包 4,双击这个.cmd文件,就可以压缩了. ====================

Python简单脚本之一 (备份压缩文件)

#功能:#1.备份系统重要文件以及mongodb文件.#2./etc/ /usr/local/mongodb/等#3.备份路径:/data/backup/20161103/system_backup.tar.gz#4.备份完成打印信息 首先我要建立一备份的目录  ,我需要先判断有没有这个目录 import time import os d_dir='/usr/local/py/backup/' #备份目标目录 d_files='system_back.tar.gz' #命名文件 s_dir =[

ZIP压缩文件夹中上个月的文件,并将备份文件拷贝到服务器

遍历文件夹的子文件夹下的所有文件,将上个月的文件集中到一起,然互压缩,并copy到服务器的映射磁盘. static void Main(string[] args) { //原始文件存放的位置 DirectoryInfo theFolder = new DirectoryInfo(@"E:\TestFloder"); //将文件拷贝到该文件夹下 string targetPath = @"D:\test"; DirectoryInfo[] dirInfo = the

C#压缩文件夹

using System;using System.Collections.Generic;using System.Text; ///第三方dllusing ICSharpCode.SharpZipLib;using ICSharpCode.SharpZipLib.Checksums;using ICSharpCode.SharpZipLib.Zip;using System.IO;using log4net;using log4net.Config;using System.Text.Reg

Java使用Zip压缩文件或整个目录

1.压缩文件或整个目录 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.zip.ZipEntry