我正在尝试提高我的二进制 IO 技能,因此正在编写一个简单的实用程序,它可以读取 mobi 格式的电子书并打印前 32 个字节以显示书名。
Palm 数据库格式声明二进制文件的前 32 个字节包含数据库/书籍名称,并且该名称以 0 结尾。
我不确定如何检查我读取的字节是否为空终止。
File file = new File("ebook.mobi");
DataInputStream in = new DataInputStream(new FileInputStream(file));
int count = 1;
while(count++ <= 32){
System.out.print((char)in.readByte());
}
in.close();
在这种情况下,输出打印:
Program_or_Be_Programmed <--- this is immediately followed by a number of square symbols
我试图改变while循环无济于事:
while(count++ < 32 || in.readByte != 0)
我想添加一些语句以在遇到 0 字节时停止循环打印字符。
我将如何实现这一点?