Java IO流的操作 学习笔记

Java基础之IO流的操作

1.基本概念

1.1 流的概念

流是一组有顺序的,有起点和终点的字节集合。

1.2:IO:

Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。

2. 流的分类

按处理数据的类型分为字节流和字符流
按数据流向分为输入流和输出流

è¿éåå¾çæè¿°

 

字节流和字符流的区别
字节流一次只读取一个字节,字符流一次读取一个字符(一个字符包含多个字节)。字节流可以所有类型的数据,而字符流只能处理字符类型的数据(如文本文件)

字节流
InputStream,抽象了应用程序读取数据的方式
OutputStream ,抽象了应用程序写出数据的方式

3. 流的方法

3.1输入流的基本方法
InputStream in = new InputStream();
int b = in.read();

3.2输出流的基本方法
OutputStream out = new OutputStream();
out.write(int b);

3.3字节流的实现类

文件输入输出流     FileInputStream FileOutputStream

数据输入输出流      DataInputStream DataOutputStream
加了一些方法如writeInt(),writeLong()等等,普通的流只有writre(),即只能写入字节

字节缓冲流
BufferedInputStream BufferedOutputStream

3.4字符流
Reader,读取字符的抽象基类         Writer,写入字符的抽象基类

3.5字符流的实现类
InputStreamReader,完成byte流解析为char流,按照编码解OutputStreamReader,提供char流到byte流,按照编码处理

3.6文件的读写
FileReader/FileWriter          读取单位char或者string

3.7字符缓冲流
BufferedReader     BufferedWriter

4.file类

4.1 File的构造器

File(String pathname) :通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(File parent, String child) :根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String parent, String child) :根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri) : 通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。

4.2 File常用方法

4.2.1.获取该类的相关信息:
(1)getAbsoluteFile() :返回此抽象路径名的绝对路径名形式。
(2)getAbsolutePath() :返回此抽象路径名的绝对路径名字符串。
(3)getCanonicalFile():返回此抽象路径名的规范形式。
(4)getCanonicalPath():返回此抽象路径名的规范路径名字符串
(5)getName():返回由此抽象路径名表示的文件或目录的名称。
(6)getPath():将此抽象路径名转换为一个路径名字符串。
(7)getParent() :返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
(8)getParentFile():返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
(9)length():返回由此抽象路径名表示的文件的长度。

4.2.3 新建和删除
a) (boolean) createNewFile:当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
(1)(boolean)delete():删除此抽象路径名表示的文件或目录。
(2)(boolean)exists():测试此抽象路径名表示的文件或目录是否存在。
(3) (boolean)isDirectory():测试此抽象路径名表示的文件是否是一个目录。
(4)(boolean) isFile(): 测试此抽象路径名表示的文件是否是一个标准文件。
(5)(boolean)mkdir():创建此抽象路径名指定的目录。
(6)(boolean)mkdirs(): 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

4.2.4文件的获取
(1)(String[])list():返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
(2)(File[])listFile():返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

5.字节流

5.1.字节流基类

InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。

OutputStream:字节输出流基类,抽象类是表示输出字节流的所有类的超类。

5.2字节文件操作流

FileInputStream:字节文件输入流,从文件系统中的某个文件中获得输入字节,用于读取诸如图像数据之类的原始字节流。

FileOutputStream:字节文件输出流是用于将数据写入到File,从程序中写入到其他位置。

5.3字节缓冲流(高效流)

BufferedInputStream:字节缓冲输入流,提高了读取效率。

BufferedOutputStream:字节缓冲输出流,提高了写出效率。

6.字符流

6.1字符流基类

Reader:读取字符流的抽象类.

Writer:写入字符流的抽象类.

6.2.字符转换流

InputStreamReader:字节流转字符流,它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。

OutputStreamWriter:字节流转字符流。

6.3字符缓冲流(高效流)

BufferedReader:字符缓冲流,从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

BufferedWriter:字符缓冲流,将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

6.4.FileReader、FileWriter

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值