更新时间:2022-11-30 11:44:59 来源:极悦 浏览1837次
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()也不例外。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习