IO操作的类在包java.io里
一、
InputStream用于向程序中输入数据,且单位为一个字节(8bit)
OutputStream用于向程序中输出数据,且单位为一个字节
Reader用于向程序中输入数据,单位为一个字符(两个字节16bit)
Writer用于向输出流中写入数据,单位为一个字符(两个字节16bit)
FileInputStream用于向文件中输入字节
FileOutputStream
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的
读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。charset
每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。
为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。实际效果和直接使用InputStreamReader是一样的
二、BufferedReader的readLine方法:
readLine
public String readLine()
throws IOException
读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。
返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
抛出:IOException
- 如果发生 I/O 错误