第十周课程总结
一.字节流与字符流基本操作
在java.io 包中流的操作主要有字节 流和字符流两大类,两类都有输入和输出操作。
在字节流中输出数据主要使用 OutputStream类完成,输入使的是InputStream类,
在字符流中输出主要是使用Writer类完成,输入主要是使用Reader类完成。
在 Java 中 IO 操作也是有相应步骤的,以文件的操作为例,主要的操作流程如下:
(1)使用File类打开一个文件。
(2)通过字节流或字符流的子类指定输出的位置。
(3)进行读/写操作。
(4)关闭输入/输出。
1.字节流
字节流主要是操作byte类型数据, 以byte数组为准,主要操作类就是 OutpuStream
类和
InputStream类。
1.字节输出流:OutputStream
OutputStream是整个IO包中字节输出流的最大父类,此类的定义如下:
public abstract class OutputStream
extends Object
implements Closeable, Flushable
从以上的定义中可以发现,此类是一个抽象类,如果要想使用此类的话,首先必须通过
子类实例化对象。如果现在要操作的是一个文件,则可以使用FileOutputStream类,
通过向上转型后,可以为OutputStream实例化,在OutputStream类中的主要操作方法。
OutputStream 类的常用方法 | |||
序 号 | 方法或常量 | 类 型 | 描 述 |
1 | public void close()throws IOException | 普通 | 关闭输出流 |
2 | public void flush()throws lOException | 普通 | 刷新缓冲区 |
3 | public void write(byte[]b) throws IOException | 普通 | 将一个 byte 数组写入数据流 |
4 | public void write (byte[] b, int off, int len) throws | 普通 | 将一个指定范围的 byte 数组IOException 写入数据流 |
5 | public abstract void write(int b) throws IOException | 普通 | 将一个字节数据写入数据流 |
1.1 字节输入流:InputStream
既然程序可以利用 OuputSteam 类向文件中写入内容,则也可以通过IapuStream类头文
件中把内容读取进来。InputStream 类的定义如下:
public abstract class InputStream
extends Object
implements Closeable
与 OutputStream 类一样,InputStream 本身也是一个抽象类,必须依靠其子类,如果
现在是从文件中读取,子类肯定是FileInputStream。InputStream类中的主要方法。
InputStream 类的常用方法 | |||
序 号 | 方法或常量 | 类 型 | 描 述 |
1 | public int available()throws IOException | 普通 | 可以取得输入文件的大小 |
2 | public void close()throws IOException | 普通 | 关闭输入流 |
3 | public abstract int read() throws IOException | 普通 | 读取内容,以数字的方式读取 |
4 | public int read(byte[] b) throws IOException | 普通 | 将内容读到 byte 数组之中,同时返回读入的个数 |
2.字符流
2.1 字符输出流 Writer
Writer 本身是一个字符流的输出类,此类的定义如下:
public abstract class Writer
extends Object
implements Appendable, Closeable, Flushable
此类本身也是一个抽象类,如果要想使用此类,则肯定要使用其子类,此时如果是向文件
中写入内容,应该使用FileWriter的子类。Writer类的常用方法。
Writer 类的常用方法 | |||
序 号 | 方法或常量 | 类 型 | 描 述 |
1 | public abstract void close() throws IOException | 普通 | 关闭输出流 |
2 | public void write(String str) throws IOException | 普通 | 将字符串输出 |
3 | public void write(char[] cbuf) throws IOException | 普通 | 将字符数组输出 |
4 | public abstract void flush() throws IOException | 普通 | 强制性清空缓存 |
FileWriter类的构造方法定义如下:
public FileWriter(File file) throws IOException
2.2 字符输入流:Reader
Writer 本身是一个字符流的输出类,此类的定义如下:
public abstract class Reader
extends Object
implements Readable, Closeable
Reader 类本身也是抽象类,如果现在耍从文件中读取内容,则可以直接使用 FileReader子
类。Reader 类的常用方法。
FileReader的构造方法定义如下:
public FileReader(File file) throws FileNotFoundException
二,字节流与字符流的区别
原文地址:https://www.cnblogs.com/zh2250881784/p/11787999.html
- Golang标准库学习——buffio包 ---转
- 【Go 语言社区】Go语言条件变量的两个例子
- mysqlimport导入报错的排查(r10笔记第58天)
- 【Go 语言社区】POJ 1047 Round and Round We Go 循环数新解
- 【Go 语言社区】删除redis所有KEY
- 【Go 语言社区】Golang 动态实例化结构体
- 【Go 语言社区】Go 错误处理
- 【Go 语言社区】Go 语言范围(Range)
- 【Go 语言社区】JS 相关---Window Location
- 【Go 语言社区】Go 语言Map(集合)
- 【Go 语言社区】JavaScript Date(日期)对象
- UWP基础教程 - XAML类型转换器
- Oracle 12c Data Guard搭建(一) (r10笔记第57天)
- 【Go 语言社区】Go语言 Cookie的使用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python-剑指offer6-10
- 为什么DBA不让给MySQL数据库中加触发器呢?
- python-剑指offer11-15
- python-剑指offer16-20
- ArrayList源码学习
- Java程序员不缺对象,缺的是对象存储
- StringBuffer StringBulider String的区别
- 求X值问题
- python-剑指offer21-40
- Java8实战--引入流
- ThingJS数据对接方法介绍——Ajax
- python-剑指offer41-62
- 【python-opencv】读取、显示、写入图像
- WSL——windows上的linux子系统
- 【python-opencv】读取、显示、保存视频