制作这段代码,使其读取给定文件的前8个字节

时间:2013-03-05 13:51:42

标签: java io

我需要这段代码输出给定文件的前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();
        }
}

3 个答案:

答案 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));