0

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

3 回答 3

3

您需要对从fis.read(). 这是您应该打印出来的值,而不是循环计数器i

于 2013-03-05T13:53:23.290 回答
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 个字节)计数。如果您愿意,您可以添加检查您实际阅读的内容...

于 2013-03-05T13:57:45.093 回答
2

你至少需要 3 行

    byte[] a = new byte[8];
    fis.read(a);
    System.out.println(Arrays.toString(a));
于 2013-03-05T13:58:00.363 回答