我正在编写一个用于Huffman编码的程序。我需要提供10个文件,每个文件包含至少1次包含全部256个ASCII字符的500-1000个字符。我该怎么做?互联网上是否有包含全部256个ASCII字符的示例文件?请帮忙!如何创建包含全部256个ASCII字符的示例文本文件
更新: 我可以输入255个ascii字符。但我似乎无法输入NULL由于某种原因。它只是不显示在文件中。所有其他字符都显示为例如删除由五角形表示。我尝试了Alt + 0。
我正在编写一个用于Huffman编码的程序。我需要提供10个文件,每个文件包含至少1次包含全部256个ASCII字符的500-1000个字符。我该怎么做?互联网上是否有包含全部256个ASCII字符的示例文件?请帮忙!如何创建包含全部256个ASCII字符的示例文本文件
更新: 我可以输入255个ascii字符。但我似乎无法输入NULL由于某种原因。它只是不显示在文件中。所有其他字符都显示为例如删除由五角形表示。我尝试了Alt + 0。
您可以生成这些文件,你自己 - 一个相对简单的算法应该足够了:
c
对于每个编号c
,在范围内产生一个随机数n
从1到4,包含n
的值加到c
的列表中c
设置回0
,并继续使用相同的算法,直到您超过500个计数。谢谢!我会试试看。 –
我不是一个java程序员(我不知道一点java),我是一个c程序员。但是,你想要做的事很简单。我找到了一个你应该检查的例子。
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(byte i = 0; i < 256; i++) os.writeByte(i);
os.close();
}
}
您还应该注意,并非所有的ascii值都是可打印的字符。因此,当您查看这些文件时,您将无法计数256个字符。但是,你应该能够看到整个字母表和0 - 9.
谢谢!我会试试看。 –
由于某种原因,我似乎无法输入NULL。它只是不显示在文件中。所有其他字符都显示为例如删除由五角形表示。 –
那里可能没有null的可打印字符。检查你的文件大小,如果它是256那么NULL肯定在那里。 – tay10r
你应该能够在一个简单的循环中做到这一点,你不需要从互联网上的文件。 – tay10r
@TaylorFlores:我无法打印一些像NULL和删除的字符..如何操作 –
您需要打开并以二进制模式写入文件。你可以写空和删除。给我一点时间找到写链接发送给你 – tay10r