轉換流類別:
OutputStreamWriter:是Writer的子類,將輸出的字符流變成字節流,即將一個字符流的輸出對象變成字節流輸出對象。
InputStreamReader:是Reader的子類,將輸入的字節流變成字符流,即將一個字節流的輸入對象變成字符流的輸入對象
以文件操作爲例:內存中的字符數據需要通過OutputStreamWrite變爲字節流才能保存在文件中。讀取時需要將讀入的字節流通過InputStreamReader變爲字符流。
一、將字符輸出流變爲字節輸出流
public class OutputStreamWriterDemo {
public static void main(String[] args) {
File f = new File("D:"+File.separator+"test.txt");
Writer writer = null;
try {
writer = new OutputStreamWriter(new FileOutputStream(f));
writer.write("將字符輸出流變成字節輸出流");
writer.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
二、將字符輸入流變成字節輸入流:
public class InputStreamReaderDemo {
public static void main(String[] args) {
File f = new File("D:"+File.separator+"test.txt");
Reader reader = null;
try {
reader = new InputStreamReader(new FileInputStream(f));
char c[] = new char[1024];
int len = reader.read(c);
reader.close();
System.out.println("讀取:"+new String(c,0,len));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}