黑马I/O流学习之字节流、字符流

目录

I/O流概述

字节流的使用

文件字节输入流:每次读取一个字节

文件字节输入流:每次读取一个字节数组

文件字节输入流:每次读完全部字节

​编辑

文件字节输出流:写字节数据到文件

​编辑

文件拷贝

 资源释放的方式

try-catch-finally

try-with-resource

字符流的使用

文件字符输入流-一次读取一个字符

文件字符输入流-一次读取一个字符数组

文件字符输出流

I/O流概述

字节流的使用

文件字节输入流:每次读取一个字节

 

文件字节输入流:每次读取一个字节数组

  • 读取一个字节数组时返回读取的字节数,数据读取在字节数组中

  • 使用后两个参数保证每次读多少输出多少

文件字节输入流:每次读完全部字节

一次读一个字节数组可能导致中文乱码(一个中文字符在utf-8下通常占3个字节可能被隔断)

文件字节输出流:写字节数据到文件

 创建输出流时append为true时,数据为追加写入,创建管道不会清空数据。

文件拷贝

package org.example;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        File f = new File("D:\\Git\\video.mp4");
        FileInputStream fis = new FileInputStream(f);
        FileOutputStream fos = new FileOutputStream("D:\\Git\\video11.mp4");
        byte[] bytes = new byte[1024];
        int length;
        while ((length = fis.read(bytes)) != -1){
            fos.write(bytes,0,length);
        }
        System.out.println("复制完成!");
        fis.close();
        fos.close();
    }
}

 资源释放的方式

try-catch-finally

 不建议在finally中加return语句

try-with-resource

 推荐使用JDK7优化方案

字符流的使用

文件字符输入流-一次读取一个字符

缺点:性能较慢

文件字符输入流-一次读取一个字符数组

文件字符输出流

此外还有流的关闭与刷新

 创建输出流时append为true时,数据为追加写入,创建管道不会清空数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值