Java学习—IO—转换流
转换流是指将字节流与字符流之间的转换,包含两个类:InputStreamReader和OutputStreamWriter。
转换流的出现方便了对文件的读写,她在字符流与字节流之间架起了一座桥梁,使原本毫无关联的两种流操作能够进行转化,提高了程序的灵活性。
InputStreamReader的构造操作:
InputStreamReader(InputStream in) |
InputStreamReader(InputStream in,Charset cs) |
InputStreamReader(InputStream in,CharsetDecoder dec) |
InputStreamReader(InputStream in,String charsetName) |
InputStreamReader的相关操作:
void | close() |
getEncoding() | |
int | read() |
int | read(char[] cbuf, int offset, int length) |
boolean | ready() |
OutputStreamWriter的构造
OutputStreamWriter(OutputStream out) |
OutputStreamWriter(OutputStream out,Charset cs) |
OutputStreamWriter(OutputStream out,CharsetEncoder enc) |
OutputStreamWriter(OutputStream out,String charsetName) |
方法摘要 | |
void | close() |
void | flush() |
getEncoding() | |
void | write(char[] cbuf, int off, int len) |
void | write(int c) |
void |
示例如下:
package com.abin;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class InputStreamReaderDemo {
public static void main(String[] args) throws IOException {
//获取标准输入流
InputStreamin = System.in;
//将字节流转换为字符流
InputStreamReaderisr = new InputStreamReader(in);
//将字符流装饰
BufferedReaderbr = new BufferedReader(isr);
Stringstring =null;
while ((string=br.readLine())!=null) {
if ("over".equals(string)) {
break;
}
System.out.println(string.toUpperCase());
}
}
}