我正在使用DataInputStream进行R& D,并在不同情况下检查其输出。 我有一个文件行,我正在使用不同的方法阅读它。 我的代码是:
public class TestDataAgain {
public static void main(String[] args) {
File fileName = new File("againDataIO.dat");
try(DataInputStream in =
new DataInputStream(
new BufferedInputStream(
new FileInputStream(fileName)))) {
while(in.available() >= 1) {
System.out.print((char)in.readByte() + " ");
}
} catch(IOException e) {
e.printStackTrace();
}
}
}
当我使用cast和readByte()方法时输出很好,但是当我不进行任何转换并使用readChar()
时:
while(in.available() >= 2) {
System.out.print(in.readChar() + " ");
}
输出是一堆像这样的问号:
? ? ? ? ? ? ?
该文件包含一行:
trying to read
任何人都可以解释问号作为输出出现的原因。提前谢谢。