Java(十)----IO流对象

1 IO流对象

IO : Input Output IO作用是将数据从一个设备中流入到另一个设备

数据文件,从磁盘中流向内存中 , 从磁盘中流向移动存储设备 , 从一台计算机流向另一台计算机

一切都是字节 : 任何数据文件都是字节组成, 字节是计算机中最小的存储单元 (Java源码,游戏,音乐,电影)

数据流向

2.1 IO流对象的分类

2.1.1 按照操作的文件类型分类

  • 文本类型文件 -- 选择流对象字符流

    • 什么是文本文件 : 使用文本工具,记事本,notepad++ ,editplus 打开文件后人类可以直接阅读( word用记事本打开后会乱码所以不是文本文件 )

  • 非文本类型文件 -- 选择流对象字节流

2.1.2 按照数据的流向分类

  • 输入流 : Java程序从其它地方读取数据

  • 输出流 : Java程序中的数据,写入到其它地方

2.1.3 IO流对象的分类归纳

  • 字节输出流 : OutputStream  抽象类

  • 字节输入流 : InputStream  抽象类

  • 字符输出流 : Writer  抽象类

  • 字符输入流 : Reader  抽象类

3  字节输出流

java.io.OutputStream是所有字节输出流的超类 : 可以写入任何类型文件

  • 写入字节的方法 write

    • void write(int b) 写入单个字节

    • void write(byte[] b)写入字节数组

    • void write(byte[] b,int off,int len) 写入数组的一部分,开始索引,写入的个数

3.1 FileOutputStream

  • 构造方法 : FileOutputStream(File file)

  • 构造方法 : FileOutputStream(String file)

    • 创建字节输出流对象,绑定参数就是要写入的数据目的

JVM很聪明 : 任何一个操作系统都具备IO的能力, JVM依赖操作系统实现IO功能,IO流对象使用完毕后,要释放资源

3.2 字节输出流写入文件的步骤

  • 创建字节输出流对象,构造方法中,绑定文件路径,写入目的

  • 调用流对象的方法write写入数据

  • 释放资源

3.3 写入单个字节

    /**
     * 写入单个字节
     * new FileOutputStream("c:/1.txt"); 文件没有就创建,有了就覆盖
     */
    public static void writeByte() throws IOException {
        //创建字节输出流对象,构造方法中,绑定文件路径,写入目的
        FileOutputStream fos = new FileOutputStream("c:/1.txt");
        //写入单个字节
        fos.write(45);
        fos.write(49);
        fos.write(48);
        fos.write(48);
        //释放资源
        fos.close();
    }

3.4 写入字节数组

    /**
     * 写入字节数组
     */
    public static void writeByteArray() throws IOException {
        //创建字节输出流对象,构造方法中,绑定文件路径,写入目的
        FileOutputStream fos = new FileOutputStream("c:/1.txt");
        byte[] bytes = {97,98,99,100,101,102};
        //写入字节数组
        fos.write(bytes);
        //写入字节数组中文
        fos.write("你好,我好,大家好".getBytes());
        //写入数组一部分
        fos.write(bytes,1,3);
        //释放资源
        fos.close();
    }

3.5 追加写入和换行

  • 追加写入, FileOutputStream构造方法的第二个参数写true

  • 换行写入, 使用Windows系统的换行符号 \r\n

    /**
     * 追加写入和换行
     */
    public static void writeAppend()throws IOException {
        //创建字节输出流对象,构造方法中,绑定文件路径,写入目的
        FileOutputStream fos = new FileOutputStream("c:/1.txt",true);
        fos.write(65);
        //写入换行符号
        fos.write("\r\n&#
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值