📄 huffmanencode.java
字号:
package wlf;
/**
* 对文本信息,实现哈夫曼加密
*/
import java.io.*;
public class HuffmanEncode{
/**
* 主函数
* @param args
*/
public static void main(String args[])
{
//文本信息包含的元素列表
final String sourceItem="Helo,nic tsyu!";
char[] letters=sourceItem.toCharArray();
//元素出现的频率数组
int counts[]={1,4,2,3,1,1,1,1,3,1,1,1,1,1};
HuffmanTree huf=new HuffmanTree();
huf.generateTree(letters,counts);
huf.generateCodes();
try
{
ObjectOutputStream out=new ObjectOutputStream(
new FileOutputStream("Tree.data"));
out.writeObject(huf);
}catch(IOException e)
{
e.printStackTrace();
}
//源信息,此处可改进为读取文本文件中的内容。
String sourceInfo="Hello,nice to see you!";
String codes=huf.encode(sourceInfo);
System.out.println(codes);
try{
PrintWriter pw=new PrintWriter("Codes.data");
pw.write(codes);
pw.flush();
}catch(IOException e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -