91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 35KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-19
  • 語言: Java
  • 標簽:

資源簡介

使用哈夫曼編碼實現對文本文件的壓縮和解壓縮

資源截圖

代碼片段和文件信息

import?java.io.BufferedReader;
import?java.io.DataInputStream;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.FileReader;
import?java.io.FileWriter;
import?java.io.IOException;
import?java.util.Arrays;
import?java.util.HashMap;
import?java.util.HashSet;
import?java.util.Iterator;
import?java.util.Map;
import?java.util.Set;

public?class?TestHuffman?{

public?static?void?main(String[]?args)?{

Map?charAndWeightMap?=?new?HashMap();
try?{
FileReader?fr?=?new?FileReader(“test/assign03_05/input_assign03_05.txt“);
BufferedReader?br?=?new?BufferedReader(fr);
getCharAndWeightMap(br?charAndWeightMap);//?從文件中統計個字符的概率
}?catch?(FileNotFoundException?e)?{
e.printStackTrace();
}
//?System.out.println(“charAndWeightMap:?“?+?charAndWeightMap);

Node[]?nodes?=?new?Node[charAndWeightMap.size()];

mapToNodes(charAndWeightMap?nodes);

Node?root?=?new?Node();
root?=?huffmanTree(nodes?nodes.length);
Map?map?=?new?HashMap();
BinTreeToHuffman(root?map);//?由二叉樹生成huffman編碼保存得到map中.
//?System.out.println(“huffmancode:?“+map);
try?{
FileWriter?fw?=?new?FileWriter(“test/assign03_05/huffman_assign03_05.txt“);
//?fw.write(“huffman.txt“);
writerHuffmanMap(map?fw);//?將huffman編碼保存到文件huffman.txt中
}?catch?(IOException?e)?{
e.printStackTrace();
}

try?{
FileReader?fr?=?new?FileReader(“test/assign03_05/input_assign03_05.txt“);
BufferedReader?br?=?new?BufferedReader(fr);
//DataInputStream?dis?=?new?DataInputStream(new?FileInputStream(“test1/input.txt“));
FileOutputStream?fos?=?new?FileOutputStream(“test/assign03_05/compressfile_assign03_05.txt“);
compressFile(map?br?fos);
}?catch?(FileNotFoundException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}

try?{
decompressFile(new?BufferedReader(
new?FileReader(“test/assign03_05/huffman_assign03_05.txt“))?new?FileInputStream(
“test/assign03_05/compressFile_assign03_05.txt“)?new?FileWriter(“test/assign03_05/decompressfile_assign03_05.txt“));
}?catch?(FileNotFoundException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}

}

public?static?void?mapToNodes(Map?charAndWeightMap
Node[]?nodes)?{
//?int?i?=?0;
//?Character?ch?=?null;
Set?set?=?new?HashSet();
set?=?charAndWeightMap.keySet();
//?System.out.println(“set.size():?“+set.size());
//?System.out.println(“nodes.length:?“+nodes.length);
//?System.out.println(set);
Iterator?it?=?set.iterator();
for?(int?i?=?0;?i? nodes[i]?=?new?Node(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????301??2012-04-10?11:29??Huffman\.classpath

?????文件????????386??2012-04-10?11:29??Huffman\.project

?????文件????????629??2012-04-10?11:29??Huffman\.settings\org.eclipse.jdt.core.prefs

?????文件????????861??2012-04-10?13:52??Huffman\bin\Node.class

?????文件???????9301??2012-04-10?13:52??Huffman\bin\TestHuffman.class

?????文件??????12430??2012-04-10?13:52??Huffman\src\TestHuffman.java

?????文件?????????29??2012-04-10?13:21??Huffman\test\assign03_01\compressfile_assign03_01.txt

?????文件????????100??2012-04-10?13:21??Huffman\test\assign03_01\decompressfile_assign03_01.txt

?????文件?????????52??2012-04-10?13:21??Huffman\test\assign03_01\huffman_assign03_01.txt

?????文件????????100??2012-04-10?13:03??Huffman\test\assign03_01\input_assign03_01.txt

?????文件????????927??2012-04-10?13:26??Huffman\test\assign03_02\compressfile_assign03_02.txt

?????文件???????1453??2012-04-10?13:26??Huffman\test\assign03_02\decompressfile_assign03_02.txt

?????文件????????794??2012-04-10?13:26??Huffman\test\assign03_02\huffman_assign03_02.txt

?????文件???????1524??2012-04-10?11:29??Huffman\test\assign03_02\input_assign03_02.txt

?????文件???????2120??2012-04-10?13:34??Huffman\test\assign03_03\compressfile_assign03_03.txt

?????文件???????4188??2012-04-10?13:34??Huffman\test\assign03_03\decompressfile_assign03_03.txt

?????文件???????6829??2012-04-10?13:34??Huffman\test\assign03_03\huffman_assign03_03.txt

?????文件???????4222??2012-04-10?12:53??Huffman\test\assign03_03\input_assign03_03.txt

?????文件????????911??2012-04-10?13:42??Huffman\test\assign03_04\compressfile_assign03_04.txt

?????文件???????1602??2012-04-10?13:42??Huffman\test\assign03_04\decompressfile_assign03_04.txt

?????文件???????2338??2012-04-10?13:42??Huffman\test\assign03_04\huffman_assign03_04.txt

?????文件???????1620??2012-04-10?13:42??Huffman\test\assign03_04\input_assign03_04.txt

?????文件???????1604??2012-04-10?13:55??Huffman\test\assign03_05\compressfile_assign03_05.txt

?????文件???????3224??2012-04-10?13:55??Huffman\test\assign03_05\decompressfile_assign03_05.txt

?????文件???????7302??2012-04-10?13:55??Huffman\test\assign03_05\huffman_assign03_05.txt

?????文件???????3263??2012-04-10?13:55??Huffman\test\assign03_05\input_assign03_05.txt

?????目錄??????????0??2012-04-10?13:20??Huffman\test\assign03_01

?????目錄??????????0??2012-04-10?13:24??Huffman\test\assign03_02

?????目錄??????????0??2012-04-10?13:33??Huffman\test\assign03_03

?????目錄??????????0??2012-04-10?13:43??Huffman\test\assign03_04

............此處省略9個文件信息

評論

共有 條評論