专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java read方法介绍

Java read方法介绍

更新时间:2022-11-30 11:44:59 来源:星辉 浏览1588次

InputStream 该类的基本方法 是read() ,它读取单个无符号字节数据并返回无符号字节的整数值。这是一个介于 和 255 之间的数字:

公共抽象 int read() 抛出 IOException

以下代码从 System.in输入流中读取 10 个字节并将它们存储在int数组中data:

int[] 数据 = 新的 int[10];
对于 (int i = 0; i < data.length; i++) {
  数据[i] = System.in.read();
}

请注意,虽然read()正在读取 a byte,但它会返回 an int。如果您想改为存储原始字节,则可以将 int转换为byte. 例如:

字节[] b = 新字节[10];
对于 (int i = 0; i < b.length; i++) {
  b[i] = (字节) System.in.read();
}

当然,这会生成一个有符号字节,而不是该read()方法返回的无符号字节(即,一个在 -128 到 127 范围内的字节,而不是到 255)。只要您在头脑和代码中清楚您是在处理签名数据还是未签名数据,就不会有任何问题。有符号字节可以 int像这样转换回 255 范围内的 s:

int i = (b >= 0) ? b: 256 + b;

当你打电话时read(),你还必须抓住 IOException它可能抛出的。正如我所观察到的,输入和输出经常受到您无法控制的问题的影响:磁盘故障、网络电缆断开等。因此,几乎任何 I/O 方法都可以抛出IOException,read()也不例外。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>