资源简介
一个用Java编写的实现压缩和解压缩的间单程序。
代码片段和文件信息
//用lz78算法制作一个简单的压缩软件
import javax.swing.*;
import java.io.*;
public class LZ78
{
String file=“test“;
int value=1;
int k=0;
int i=0;
String []cd=new String[23];//用一个数组来存放词典
public LZ78()throws IOException
{
//向原文件中输入数据
DataOutputStream output=new DataOutputStream(new FileOutputStream(“test.txt“));
output.writeChar(‘D‘);
output.writeChar(‘A‘);
output.writeChar(‘D‘);
output.writeChar(‘ ‘);
output.writeChar(‘D‘);
output.writeChar(‘A‘);
output.writeChar(‘D‘);
output.writeChar(‘A‘);
output.writeChar(‘ ‘);
output.writeChar(‘D‘);
output.writeChar(‘A‘);
output.writeChar(‘D‘);
output.writeChar(‘D‘);
output.writeChar(‘Y‘);
output.writeChar(‘ ‘);
output.writeChar(‘D‘);
output.writeChar(‘A‘);
output.writeChar(‘D‘);
output.writeChar(‘O‘);
output.close();
}
public void encode(String file1String file2)throws IOException//解压缩
{
DataInputStream ip=new DataInputStream(new FileInputStream(file1+“.lz“));
DataOutputStream op=new DataOutputStream(new FileOutputStream(file2+“.txt“));
char c;
while(ip.available()!=0)
{
int d=ip.readInt();
if(d==0)
{
c=ip.readChar();
op.writeChar(c);
cd[value++]=String.valueOf(c);
}
else
{
c=ip.readChar();
char []chars=cd[d].toCharArray();
for(int j=0;j op.writeChar(chars[j]);
op.writeChar(c);
cd[value++]=cd[d]+String.valueOf(c);
}
}
ip.close();
op.c
- 上一篇:图书管理系统jsp+mysql
- 下一篇:cglib所需要的所有jar包
评论
共有 条评论