【Java】字节流

本文详细解析了IO流的基本概念,包括输入流与输出流的区别,以及字节流(ByteStream)和字符流的使用场景。重点讲解了字节流的抽象基类和FileOutputStream的使用,涉及写数据的三种方式、换行符处理和追加写入。同时,通过实例说明了如何通过字节输入流读取文件内容,并强调了异常处理的重要性,确保资源的正确释放。
摘要由CSDN通过智能技术生成

2.字节流

2.1 IO流概述和分类

 

IO流概述:

  • IO:输入/输出(Input/Output)

  • 流:使用抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输

  • IO流就是用来处理设备间数据传输问题的

        常见的应用:文件复制;文件上传;文件下载

 

 2.1 IO流分类

分类:

  • 按数据的流向:

        输入流:读数据

        输出流:写数据

  • 按数据类型来分:

        字节流:

            字节输入流;字节输出流

        字符流:

            字符输入流;字符输出流

 

一般来说,我们说IO流的分类是按照数据类型来分的,那么这两种流在什么情况下使用呢?

 

    如果数据通过windows自带的记事本软件打开,我们还可以读懂里面的内容,就使用字符流,否则使用字节流。如果你不知道改用哪种类型的流,就使用字节流。

 

2.2字节流写数据

    字节流抽象基类:

  •     InputStream:这个抽象类是表示字节输入流的所有类的超类

  •     OutputStream:这个抽象类是表示字节输出流的所有类的超类

    子类名特点:子类名称都是以其父类名作为子类名的后缀

 

    FileOutputStream:文件输出流用于将数据写入File

  •     FileOutputStream(String name):创建文件输出流以指定的名称写入文件

 

    使用字节输出流写数据的步骤:

  •     创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)

  •     调用字节输出流对象的写数据的方法

  •     释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源)

 

2.3字节流写数据的3种方式

 

2.4字节流写数据的两个小问题

字节流写数据如何实现换行呢?

  • 写完数据后,加换行符

        windows:\r\n

        linux:\n

        mac:\r

字节流写数据如何实现追加写入呢?

  • public FileOutputStearm(String name,boolean append)

  • 创建文件输出流以指定的名称写入文件。如果第二个参数为true,则字节将写入文件的末尾而不是开头。

 

2.5字节流写数据加异常处理

finally:在异常处理时提供finally块来执行所有清除操作。比如说IO流中的释放资源

特点:被finally控制的语句一定会执行,除非JVM退出

 

 

2.6字节流读数据(一次读一个字节数组数据)

需求:把文件fos.txt中的内容读取出来在控制台输出

 

使用字节输入流读数据的步骤:

①创建字节输入流对象 

②调用字节输入流对象的读数据方法

③释放资源

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值