【发布时间】:2014-09-05 20:57:18
【问题描述】:
我也在复制代码和输出我想知道为什么在提供更大的数据文件作为输入时执行程序需要这么多时间。
请看透代码并给我建议并尝试执行。
java程序:
FileInputStream fis = new FileInputStream("rose.jpg"); //use your own binary file name
DataInputStream dis = new DataInputStream(fis);
try {
byte buffer[] = new byte[16];
while((line = dis.read(buffer)) != -1)
{
for(int i = 0; i < line; i++)
{
value = Integer.toHexString(0xFF & buffer[i] | 0x100).substring(1);
nextvalue = nextvalue+""+value;
}
if(a == 0)
{
incValue = nextvalue.substring(0, 32);
System.out.println(incValue);
}
else
{
counter = counter + 32;
incValue = nextvalue.substring(counter, counter + 32);
System.out.println(incValue);
}
a++;
输出:
ffd8ffe000104a464946000101020025
00250000ffdb00430002010101010102
01010102020202020403020202020504
04030406050606060506060607090806
0709070606080b08090a0a0a0a0a0608
0b0c0b0a0c090a0a0affdb0043010202
02020202050303050a0706070a0a0a0a
0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a
输出的每一行将有 16 个字节的值。
请帮我解决这个程序我必须修改和更改的内容,以便程序快速执行。
【问题讨论】:
-
这是一个很好的问题,可以用来学习几种编程技术。不要害怕尝试并在你第一次开始工作后尝试改进你所拥有的东西。对于额外的挑战,在右侧的第 3 列中打印等效的 ASCII 字符,使用
.或类似的“代替”不可打印的字符。你最终会得到一个方便的工具。