如果读取方法从输入流中读取一个字节的数据,那么当它必须读取一个字符时,它是否会逐字节读取两次?作为一个字符是2个字节?does Java.io.InputStream.read()方法读取每个数据类型为字节?
0
A
回答
1
InputStream
对字节进行操作。它是Java中的基础I/O抽象。它可以读取单个字节或一系列字节,具体取决于调用者请求的内容。但它对字符一无所知,所以它本身不能决定为字符读取两个字节。 A Reader
将不得不请求这一点。
如果您需要阅读字符,请使用Reader
从InputStream
中阅读。
(同样,读取序列化的Java对象,你会使用ObjectInputStream
,这再次从InputStream
读取他们。或者你也可以从InputStream
使用Scanner
从数字到文本读取各种输入一次。)
这种抽象的目的是责任的分离 -
- 的
InputStream
提供的字节流,并处理所有底层逻辑(文件读出/网络/ ...)。 Reader
将字节流转换为字符流,并且不关心数据来自何处。
0
按照可用的Oracle在线文档https://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html#read()它读取字节数组
+0
或单个字节。 – EJP
相关问题
- 1. 每个字节读取阵列字节
- 2. 获取数据类型字节大小
- 3. 从每个字节的文件字节读取C++
- 4. 每次读取单字节与多个字节时的性能?
- 5. 从类读取字节
- 6. 读取文件时验证每个读取的字节数组缓冲区
- 7. 如何读取Java中每个数字的每个数字
- 8. Java数据类型到字节数组
- 9. 从字节读取数据包ID
- 10. 我用jQuery()提取每个数据的类jquery方法
- 11. Android - 枚举方法为每个选项设置两种数据类型
- 12. 找到每个模型的类方法
- 13. PHP反射 - 获取方法参数类型为字符串
- 14. 将字符数据读取为数字
- 15. 读取字节数组多个文件
- 16. 读取下一个字节的位数
- 17. 数据类型,以字节串
- 18. drupal读取数组类型字段
- 19. 读取字节数组
- 20. ActionScript读取矢量的数据类型?
- 21. 从.XML读取数据类型值
- 22. 转换字节数组为java类型
- 23. 图像数据类型为字节数组
- 24. 将数据类型TYPE_4BYTE_ABGR的字节数组转换为BufferedImage
- 25. ifstream的读取二进制数据的问题为0x00字节
- 26. 如何读取字节数组中的前3个字节
- 27. 为什么boost :: asio :: async_read无法读取请求的字节数?
- 28. 获取字节数的方法
- 29. 使用long数据类型创建一个字节数组?
- 30. 打印出每个数字在“长”数据类型在Java中
你为什么不以DataInputStream类使用readChar? – tommybee
所有数据都是字节,'read()'返回一个字节。 – Kayaman
它*不*必须'读'字符'。它被指定读取字节,这就是它的作用。你的问题没有意义。 – EJP