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());
}
}
}