用Java读写原始PGM文件

时间:2016-03-15 18:31:02

标签: java pgm

我正在尝试读写PGM文件。使用ASCII PGM(幻数= P2)很简单,但我在处理Raw PGM文件时遇到了一些困惑(幻数P5)。

以下是我要阅读的PGM文件:A.pgm

在PGM Header之后,当我尝试使用以下Java代码读取Image数据时:

FileInputStream inRaw = null;
try {
    inRaw = new FileInputStream("A.pgm");
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
Scanner scan_Raw = new Scanner(inRaw);
//lines to read the PGM Header
System.out.println(scan_Raw.nextLine());
System.out.println(scan_Raw.nextLine());
System.out.println(scan_Raw.nextLine());
System.out.println(scan_Raw.nextLine());
//Code to read the Image Data
while(scan_Raw.hasNext()){
    System.out.println(scan_Raw.next());

然后它给出以下输出:

�����������������������������������������������������������������������������������������#F�����������������   ����������������}   ����������������; > e���������������� #��������������� 7� ��������������v y�M ��������������4 
`�������������     
������������� A��� ������������p ����U ������������n�����
��������������������������������������������������������������������������������������

这是什么输出? 另外,为什么我无法通过使用scan_Raw.nextByte();(输入不匹配异常)读取时间,因为据我所知,P5中的图像数据被保存为字节?

0 个答案:

没有答案