我需要这段代码输出给定文件的前8个字节,我确定它只是一行,任何帮助都会非常感激。
import java.io.*;
public class FileInHexadecimal {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("c:\\open.gif");
for(int i=0; i<=8; i++)
{
fis.read();
if (i != -1) {
System.out.println(i);
}
}
fis.close();
}
}
答案 0 :(得分:3)
您需要对fis.read()
返回的值执行某些操作。这是您应该打印的值,而不是您的循环计数器i
。
答案 1 :(得分:2)
import java.io.*;
public class FileInHexadecimal {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("c:\\open.gif");
for(int i=0; i < 8; i++)
{
System.out.println(fis.read());
}
fis.close();
}
}
应该有效。打印您阅读的内容,而不是计数器。您不需要检查它,因为它总是从0到7(8个字节)计数。如果您愿意,可以添加对实际阅读内容的检查......
答案 2 :(得分:2)
你需要至少3行
byte[] a = new byte[8];
fis.read(a);
System.out.println(Arrays.toString(a));