字節流轉字符流OutputStreamWriter、InputStreamReader,關閉流的方法

轉換時能夠指定編碼格式:GBK、UTF-8編碼

public class Demo { public static void main(String[] args) { File f = new File("word.txt"); FileOutputStream out = null;//字節流
        OutputStreamWriter osw = null;//字節流轉字符流
        BufferedWriter bw = null;//緩衝字符流
        try { out = new FileOutputStream(f); osw = new OutputStreamWriter(out, "GBK");//字節流轉字符流,編碼格式GBK
            bw = new BufferedWriter(osw); bw.write("夕西行"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally {//注意關閉順序,由後至前
            if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } if (osw != null) { try { osw.close(); } catch (IOException e) { e.printStackTrace(); } } if (out != null) { try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } FileInputStream in = null;//字節流
        InputStreamReader isr = null;//字節流轉字符流
        BufferedReader br = null;//緩衝字符流
        try { in = new FileInputStream(f); isr = new InputStreamReader(in, "GBK"); br = new BufferedReader(isr); System.out.println(br.readLine()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (isr != null) { try { isr.close(); } catch (IOException e) { e.printStackTrace(); } } if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

 關閉流的另一種方法(推薦)。在try的()中寫入代碼,try-catch結束,流自動關閉spa

public class Demo { public static void main(String[] args) { File f = new File("word.txt"); //在try的()中寫入代碼,try-catch結束,流自動關閉
        try (FileOutputStream out = new FileOutputStream(f); OutputStreamWriter osw = new OutputStreamWriter(out, "GBK"); BufferedWriter bw = new BufferedWriter(osw);) { bw.write("夕西行"); } catch (IOException e) { e.printStackTrace(); } FileInputStream in = null;//字節流
        InputStreamReader isr = null;//字節流轉字符流
        BufferedReader br = null;//緩衝字符流
        try { in = new FileInputStream(f); isr = new InputStreamReader(in, "GBK"); br = new BufferedReader(isr); System.out.println(br.readLine()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (isr != null) { try { isr.close(); } catch (IOException e) { e.printStackTrace(); } } if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
相關文章
相關標籤/搜索