字节流转字符流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(); } } } } }
相关文章
相关标签/搜索