InputStreamReader
可封装字节输入流比从读取字节数据,然后将之转换为字符
转换时所使用的字符编码可以在构造方法中显式指定,也可以使用平台的默认编码。
为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
以上为JAVA中常用的从键盘获取输入的方式。
构造方法摘要 | |
---|---|
InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。 | |
InputStreamReader(InputStream in, Charset cs) 创建使用给定字符集的 InputStreamReader。 | |
InputStreamReader(InputStream in, CharsetDecoder dec) 创建使用给定字符集解码器的 InputStreamReader。 | |
InputStreamReader(InputStream in, String charsetName) 创建使用指定字符集的 InputStreamReader。 |
方法摘要 | |
---|---|
void | close() 关闭该流并释放与之关联的所有资源。 |
String | getEncoding() 返回此流使用的字符编码的名称。 |
int | read() 读取单个字符。 |
int | read(char[] cbuf, int offset, int length) 将字符读入数组中的某一部分。 |
boolean | ready() 判断此流是否已经准备好用于读取。 |
OutputStreamWriter与InputStreamReader对应,OutputStreamWriter可按照特定的字符编码规则把字符并写到它所封装的字节输出流。
构造方法摘要 | |
---|---|
| |
| |
| |
|
方法摘要 | |
---|---|
void | close() 关闭此流,但要先刷新它。 |
void | flush() 刷新该流的缓冲。 |
String | getEncoding() 返回此流使用的字符编码的名称。 |
void | write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 |
void | write(int c) 写入单个字符。 |
void | write(String str, int off, int len) 写入字符串的某一部分。 |