我正在测试 FileInputStream,以读取文件的文本(dulo.txt),文件中的文本是(在 ANSI 中):
你好世界
我使用了 FileInputStream.read() 方法,据我所知 read() 只能读取下一个字节,并且由于 char 是2 个字节,程序如何工作?不应该崩溃吗?
这是我的代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
class Collections {
public static void main(String args[]) throws IOException {
FileInputStream fis= new FileInputStream(new File("dulO.txt"));
int spazioByte=fis.available();
for(int i=0; i<spazioByte;i++){
System.out.println("Byte: "+i+" :"+(char)fis.read());
}
}
}
控制台输出:
Byte: 0 :H
Byte: 1 :E
Byte: 2 :L
Byte: 3 :L
Byte: 4 :O
Byte: 5 :
Byte: 6 :W
Byte: 7 :O
Byte: 8 :R
Byte: 9 :L
Byte: 10 :D