Java中IO流(字节流)

本文详细介绍了Java中的IO流,特别是字节流。内容包括IO流的概述、特性、定义,以及Java中常用的字节流类。文章重点讲解了字节输入流和输出流的使用,包括构造方法、读写数据的方法和异常处理。此外,还讨论了字节流的换行问题和追加写入的操作,并介绍了字节缓冲流的作用和使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、IO流

1.概述

2.流的特性

3.流的定义

4.Java中常用IO流的类

5.IO流主要的分类方式有以下3种

 二、字节流

1.字节流抽象基类

2.分类

3.字节输入流

代码示例:

4.字节输出流

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

6.字节流写数据的三种方式

7.关于字节流的异常处理

8.字节缓冲流


一、IO流

1.概述

I表示intput,是数据从硬盘进内存的过程,称之为读。
O表示output,是数据从内存到硬盘的过程,称之为写。

2.流的特性

1)先进先出:最先写入输出流的数据最先被输入流读取到。

2)顺序存取:可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读取一串字节,不能随机访问中间的数据。(RandomAccessFile除外)

3)只读或只写:每个流只能是输入流或输出流的一种,不能同时具备两个功能,输入流只能进行读操作,对输出流只能进行写操作。在一个数据传输通道中,如果既要写入数据,又要读取数据,则要分别提供两个流。

3.流的定义

流是指一连串流动的字符,是以先进先出方式发送信息的通道。

4.Java中常用IO流的类

1)字节流的抽象父类
InputStream 输入流
OutputStream 输出流
2)字符流的抽象父类
Reader 字符读取流
Writer 字符写入流

5.IO流主要的分类方式有以下3种

1)按数据流的方向:输入流、输出流

2)按处理数据单位:字节流、字符流

3)按功能:节点流、处理流

 二、字节流

1.字节流抽象基类

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

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

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

2.分类

1)按照数据流向
                 输入流:读入数据
                 输出流:写出数据

2)按照数据类型
  <1>字节流
          字节输入流     读入数据        InputStream
          字节输出流     写出数据        OutputStream
  <2>字符流
           字符输入流     读取数据        Reader
           字符输出流     写出数据        Writer

3.字节输入流

1)定义

使用输入流InputStream读取字节,文件输入流即FileInputStream

2)构造方法

FileInputStream(String name);

FileInputStream(File name);

字节输入流的read方法以字节为为单位读取源中的数据。

3)读取方式

方法名 说明
int read() 输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0-255之间的一个整数),如果未读出字节就返回-1.
int read(byte b[]) 输入流调用该方法从源中试图读取b.length个字节到字节数组b中,返回实际读取的字节数目。如果未到达文件的末尾,则返回-1.
int read (byte b[],i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值