字符流
字符流以字符为单位进行读写,对应的类以Read或Writer结尾(文本文件)
字节流
以字节(byte)为基本传输单位,用于对二进制数据进行读写
以OutputStream或InputStream结尾的(用于多类型文件)
read
int read():
从输入流中读取数据的下一字节,返回0到255范围内的int字节值。
如果已达到流末尾而没有可用的字节,返回-1。
int read(byte[ ] b):
从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。
返回读入缓冲区的总字节数。
最后返回-1。
int read (byte[ ] b , int off , int len )
read(b,4 (位置) , 6(长度))
【read都会读入换行符】
import java.io.*;
public class Input {
public static void main(String[] args) {
InputStream in=System.in;
byte[] b=new byte[10];
try {
int d=in.read();
System.out.print(d);//输出ASCII码
//in.close();[错误]
int d1=in.read(b);
//b字节数组,此处读入了int d=in.read();中的换行符
System.out.println(d1);//输出换行符字节数
in.close();
}catch(IOException e) {
e.printStackTrace();