如何创建包含所有256个ASCII字符的示例文本文件

时间:2013-04-17 01:54:37

标签: java ascii huffman-code

我正在为霍夫曼编码编写一个程序。我需要输入10个文件,每个文件包含至少1次包含所有256个ASCII字符的500-1000个字符。我该怎么办?互联网上是否包含所有256个ASCII字符的示例文件?请帮助!

更新: 我可以输入255个ascii字符。但由于某些原因,我似乎无法输入NULL。它只是没有显示在文件中。所有其他字符显示为例如删除由五边形表示。我试过Alt + 0。

2 个答案:

答案 0 :(得分:1)

您可以自己生成这些文件 - 一个相对简单的算法就足够了:

  • 从0到255顺序执行数字c
  • 对于每个号码c,生成1到4(包括1和4)范围内的随机数n
  • n的{​​{1}}值添加到列表
  • 如果列表中的项目数少于500(这种可能性很小),您可以将c设置回c,然后继续使用相同的算法,直到超过500计数。
  • random shuffle算法应用于列表
  • 将结果写入文件。

答案 1 :(得分:1)

我不是java程序员(我不知道一点java),我是一名程序员。但是,你想要做的事情非常简单。我找到了一个你应该看看的例子。

http://www.java2s.com/Code/Java/File-Input-Output/Writesomedatainbinary.htm

您需要修改代码,以便编写字节而不是整数。你应该循环做。如果需要随机,请按照dasblinkenlight建议。我写的以下片段取代了我给你的链接中的那个。

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteBinary {
  public static void main(String[] argv) throws IOException {

    String FILENAME = "binary.dat";
    DataOutputStream os = new DataOutputStream(new FileOutputStream(
        FILENAME));

    for( int i = 0; i < 256; i++ ) os.writeByte( (byte) i );

    os.close();
  }
}

您还应注意,并非所有ascii值都是可打印字符。因此,当您查看文件时,您将无法计算256个字符。但是,你应该能够看到整个字母表和0 - 9。