IO流的简单理解

IO流的简单理解

什么是IO,IO流是什么?

IO就是用于处理设备之间的数据传输,指程序与外部设备之间或其它计算机进行数据交换的过程。在java中,对数据处理的操作称之为流(Stream),包括输入流和输出流。简单来说输入流就是将硬盘中的文件读入到内存中,而输出流就是将内存中的数据写到硬盘中。

java中InputStream和Reader是所有输入流的基类,OutputStream和Writer是所有输出流的基类。

IO流的分类及常用的IO流

  1. 按照流的方向的可以分为:输出流(Output)、输入流(Input)。
  2. 按照流的处理对象可以分为:字节流(Stream)、字符流(Reader/Write)。

为什么会有两种处理对象的方式?

​ 字节流是通过一次读取一个字节来进行操作的,字符流是对字符进行操作。字符流对于读取txt文本比字符流更加快速,所有字符流主要处理txt文本,其余的文件处理一般由字节流处理。

常用的流

处理文件的流:FileInputStream/FileOutputStream FileReader/FileWriter

自带缓冲区的流:BufferedInputStream/BufferedOutputStream BufferedReader/BufferedWriter

处理对象的流:ObjectInputStream/ObjectOutputStream

转换流:InputStreamReader/OutputStreamWriter

标准输入输出流:PrintStream/PrintWriter

处理文件的方法流程

  1. 确定源

    File file = new File("pathname");
    

确定需要操作的文件

  1. 打开流

    FileReader fr = new FileReader(file);
    
  2. 操作流

    fr.read();
    
  3. 关闭流

    fr.close();
    
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class MyFile {
    public static void file() {
        //确定源
        File file = new File("pathname");
        FileReader fr = null;
        try {
            //打开流
            fr = new FileReader(file);
            char[] ch = new char[10];
            //操作流
            while(fr.read(ch) != -1 ){
                System.out.println(ch);
            }
        }catch (IOException e ){
            e.printStackTrace();
        }finally {
            if(fr != null){
                try {
                    //关闭流
                    fr.close();
                }catch (IOException e){
                    e.printStackTrace();
                }
            }
        }
    }
}

小tips

  1. 对于流的操作,后打开的要先行关闭。
  2. 打开流后,一定要将流进行关闭,不然会造成资源的浪费。
  3. 对于流的操作要在try——catch中执行,流的关闭也是一样。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值