IO流--Reader和Wirter

本文探讨了Java中的Reader和Writer类在处理字符流时如何设置编码方式,如使用FileReader和FileWriter进行读写操作,以及通过BufferedReader和BufferedWriter添加缓冲区。还介绍了流操作的基本规律,包括明确源和目的、判断数据是否为纯文本以及具体操作设备。在Java中,使用流进行文件读写涉及输入流(从文件到程序)和输出流(从程序到文件),并强调了关闭流对象的重要性。
摘要由CSDN通过智能技术生成

Reader与Writer的编码方式

▪ 获得当前开发环境的字符编码方式 ▪

System.out.println(System.getProperty("file.encoding"));

▪ 字符流的读写根据需要设置编码方式 ▪ 涉及到的类:  读:FileReader (File file)  写:FileWriter(File file)

▪ 加入缓冲区的读:BufferedReader(Reader fr) ▪ 加入缓冲区的写:BufferedWriter(Writer bw)

public class ReaderDemo {
    public static void main(String[] args) {
        File file = new File("a1.txt");
        Reader reader = null;
        try {
            //创建流对象
            reader = new FileReader(file);
            //传输数据
            int read = reader.read();
            System.out.println((char)read);
            read = reader.read();
            System.out.println((char)read);
            read = reader.read();
            System.out.println((char)read);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

      流操作的基本规律

▪ 1、明确源和目的 ▪ ▪ a)源:输入流 b)目的:输出流 InputStream Reader OutputStream Writer

▪ 2、操作的数据是否是纯文本 ▪ ▪ 是:字符流 Reader,Writer 不是:字节流 InputStream,OutputStream

▪ 3、具体的操作设备 ▪ ▪ 源设备:内存,硬盘,键盘 目的设备:内存,硬盘,控制台

 在Java中需要读写文件中的数据的话,需要使用流概念 流表示从一个文件将数据传送到另一个文件,包含一个流向的问题 最终需要选择一个参照物:

当前程序作为参照物 从一个文件中读取数据到程序叫做输入流 从程序输出数据到另一个文件叫做输出流

注意:使用IO流写程序的时候,必须要关闭流对象。

步骤:

1.选择合适的流对象

2.创建对象

3.传输数据

4.关闭流对象(占用系统资源)

public class InputStreamDemo {
    public static void main(String[] args) {
        InputStream inputStream = null;
        try {
            //创建流对象
            inputStream = new FileInputStream("a.txt");
            //传输数据
            int read = inputStream.read();
            System.out.println((char) read);
            read = inputStream.read();
            System.out.println((char) read);
            read = inputStream.read();
            System.out.println((char) read);
            read = inputStream.read();
            System.out.println((char) read);
            read = inputStream.read();
            System.out.println((char) read);
            read = inputStream.read();
            System.out.println((char) read);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值