关于读取字节的问题 请高手帮忙解答

/*
haha.txt

abcd

*/

现在有一个名叫haha.txt的文档,文档里面有abcd四个字母。
若一个字母占一个八位,假设abcd这四个字母在硬盘中的二进表现形式为
11111111-11111110-11111000-1111000

FileReader fr = new FileReader("haha.txt");
FileInputStream fs = FileInputStream("haha.txt");

当调用一次fr.read()方法时,这个函数会读取两个字节,11111111-11111110-
可实际上,函数只读取了111111111。

若一个字母占两个八位,则abcd这四个字母在硬盘中的表现形式为

00000000-11111111-00000000-11111110-00000000-11111000-00000000-1111000

当fr.read()第一次调用时候,这个函数读取了00000000-11111111,这就解释的通。

但是当第一次调用fs.read()时,这个函数只读取了00000000,而实际上函数读取的是11111111。

请问,abcd这四个字母,在硬盘中到底占几个八位,fr.read()和fs.read() 是怎么读取数据的?

1个回答

好像有着二进制读或者文本方式读

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问