FileInputStream对象的read()方法返回的int数字到底是什么意思?

FileInputStream fileInputStream = new FileInputStream("test_dir/test_file.txt");
		int x;
		
		
		while ((x = fileInputStream.read()) > -1)
			System.out.println(x);

这个x的值可以大于127,显然不是字节(byte类型的取值是[-128, 127]),到底表示什么意思?

https://img.mukewang.com/5ae13b5e0001997402150578.jpg

qq_杀意隆_0
浏览 2461回答 7
7回答

onemoo

InputStream 是用于读取字节流的,所以它返回的就是每个字节。同时因为 Java 的 byte 类型是有符号的,所以需要用 int 来接收字节值。“字节”并不仅仅指 Java 中的 byte 类型,这个术语指 8 位二进制数据。

慢慢来我是helloworld

byte类型范围

产品经理不是经理

从输入流里面读取的字节数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java