目錄
2.轉換流
2.1字元流中和編碼解碼問題相關的兩個類【了解】
2.2轉換流讀寫資料【應用】
2.轉換流
2.1字元流中和編碼解碼問題相關的兩個類【了解】
-
InputStreamReader:是從位元組流到字元流的橋梁,父類是Reader
它讀取位元組,并使用指定的編碼将其解碼為字元
它使用的字元集可以由名稱指定,也可以被明确指定,或者可以接受平台的預設字元集
-
OutputStreamWriter:是從字元流到位元組流的橋梁,父類是Writer
是從字元流到位元組流的橋梁,使用指定的編碼将寫入的字元編碼為位元組
它使用的字元集可以由名稱指定,也可以被明确指定,或者可以接受平台的預設字元集
2.2轉換流讀寫資料【應用】
- 構造方法
方法名 | 說明 |
InputStreamReader(InputStream in) | 使用預設字元編碼建立InputStreamReader對象 |
InputStreamReader(InputStream in,String chatset) | 使用指定的字元編碼建立InputStreamReader對象 |
OutputStreamWriter(OutputStream out) | |
- 代碼示範
public class ConversionStreamDemo {
public static void main(String[] args) throws IOException {
//OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("myCharStream\\osw.txt"));
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("myCharStream\\osw.txt"),"GBK");
osw.write("中國");
osw.close();
//InputStreamReader isr = new InputStreamReader(new FileInputStream("myCharStream\\osw.txt"));
InputStreamReader isr = new InputStreamReader(new FileInputStream("myCharStream\\osw.txt"),"GBK");
//一次讀取一個字元資料
int ch;
while ((ch=isr.read())!=-1) {
System.out.print((char)ch);
}
isr.close();
}
}