学习目标:
IO
掌握I/O处理技术能够提高对数据的处理能力。
学习内容:使用java的I/O技术将数据保存在文件中(如文本文件、二进制文件等)中,以达到长时间保存数据的目的。
学习内容
1、流概述
2、输入/输出流
3、File类
4、文件输入/输出流
学习时间:3天
学习产出:1、技术笔记 1 篇,2、CSDN 技术博客 1 篇
文章目录
前言:在变量、对象和数组中存储的数据都是暂时的,程序结束后就会丢失。为了能长时间的保存程序中的数据,需要将程序中的数据保存在文件中。Java的I/O技术可以将数据保存在文件中,以达到长时间保存数据的目的,提高对数据的处理能力。
一、流概述
在程序开发过程中,将输入与输出设备之间的数据传递抽象为流。按照不同的分类方式,可以将流分为不同的类型:根据操作流的数据单元,可以将流分为字节流(操作的数据单元是一个字节)和字符流(操作的数据单元是两个字节或一个字符,因为一个字符占两个字节);根据流的流向,可以将流分为输入流和输出流。
二、输入/输出流
2.1 输入流
InputStream类是字节输入流的抽象类,是所有字节输入流的父类,
InputStream类中的所有方法遇到错误时都会引发IOException异常。
Reader类是字符输入流的抽象类,也是所有字符输入流的父类。
2.2输出流
OutputStream类是字节输出流的抽象类,是所有字节输出流的父类
OutputStream类中的所有方法均没有返回值,在遇到错误时会引发IOException异常。
Writer类是字符输出流的抽象类,是所有字符输出流的父类。
三、File类
3.1创建文件对象
使用File类的构造方法能够创建文件,常用的File类构造方法有3种,我们只需要记住常用的一种:
(1)File(String pathname)
根据传入的路径名称创建文件对象。
pathname:被传入的路径名称(包含文件名)。
例如,在E盘的根目录下创建文本文件a.txt:
<---------------------------------------------------------------------->
File file = new File(“E:/a.txt”)
<---------------------------------------------------------------------->
3.2绝对路径和相对路径
绝对路径:从盘符开始,是一个完整的路径。例如 C://a.txt
相对路径:在Java代码中是相对于项目目录路径,这是一个不完整的便捷路径,在Java中很常用。例如a.txt
四、文件输入/输出流
如果需要永久保存数据,那么最好的保存方法就是将数据保存在磁盘的文件中。为此,Java提供了文件的输入/输出流,即FileInputStream类与FileOutputStream类和FileReader类和FileWriter类。
4.1 FileInputStream类和FileOutOputSteam类
向文件中写入内容使用的是FileOutStream类
具体构造方法如下:
读取文件内容使用的是FileInputStream类
具体构造方法如下:
FileInputStream类与FileOutputStream类操作的数据单元是一个字节。
4.2 FileReader类和FileWriter类
读取文件内容使用的是FileReader类
构造方法如下:
向文件中写入内容使用的是FileWriter类
构造方法如下:
FileReader类和FileWriter类操作的数据单元是一个字符。