
- package com.itheima.d2;
-
- import java.io.*;
- import java.nio.charset.StandardCharsets;
-
- public class Test4 {
- public static void main(String[] args) {
- try (
- //1、创建一个文件字符输入流与源文件接通
- //Reader fr = new FileReader("IO\\src\\itheima04.txt");
- Reader fr = new FileReader("IO\\src\\itheima.txt");
- //2、把文件字符输入流包装成缓冲字符输入流
- BufferedReader br = new BufferedReader(fr);
- ){
-
- String line;
- while ((line = br.readLine()) != null){
- System.out.println(line);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- //乱码

public InputStreamReader(InputStream is, String charset)最常用
- package com.itheima.d2;
-
- import java.io.*;
-
- public class Test5 {
- public static void main(String[] args) {
- try(
- //1、得到文件的原始字节流
- InputStream is = new FileInputStream("IO\\src\\itheima.txt");
- //2、把原始的字节输入流按照指定的字符集编码转换成字符输入流
- Reader isr = new InputStreamReader(is, "GBK");
- //3、把字符输入流包装成缓冲字符输入流
- BufferedReader br = new BufferedReader(isr);
- ) {
- String line;
- while ((line = br.readLine()) != null){}
- System.out.println(line);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }

第一种方法默认用UTF-8输出
- package com.itheima.d2;
-
- import java.io.*;
-
- public class Test6 {
- public static void main(String[] args) {
- try (
- //1、创建一个文件字节输出流
- OutputStream os = new FileOutputStream("IO/src/itheima07.txt");
- //2、把原始的字节输出流,按照指定的字符集编码转换成字符输出转换流
- Writer osw = new OutputStreamWriter(os, "GBK");
- //3、把字符输出流包装成缓冲字符输出流
- BufferedWriter bw = new BufferedWriter(osw);
- ){
-
- bw.write("我是好人");
- bw.write("老忒双击666");
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }