JAVA SE——流

本文详细介绍了 Java 中的 I/O 流概念及其分类,包括文件流、对象流和网络流。重点阐述了文件流的具体实现方式,如字节型和字符型文件的输入输出流,并介绍了 File 类的方法及使用技巧。

流(I/O input/output 读/写)


1.      主要指两个平台之间数据的流动,而JAVA将不同的输入/输出源抽象表述为“流”,流代表着从起源到接收的有效数据。

2.      流的分类主要为三种:文件流(重要)、对象流、网络流。

(1)      文件流

读取文件流    /    写入文件流

字节型文件输入流                       字节型文件输出流

FileInputStream                              FileOutputStream    (8位字节)

字符型文件输入流                       字符型文件输出流

FileReader                                        FileWriter                   (16位字符)

文件(File类)

File类表示文件和目录路径名的抽象表达形式,并不是真实的文件,而是内存中对文件的映射。构造器中需要传递一个有效路径的字符串(URL)

主要方法:

canRead——是否可读

canWriter——是否可写

isHidden——是否是一个隐藏文件

lastModified——文件最近一次修改时间

setLastModified——设置文件最近一次修改时间

lenth——文件内容长度

getParent获得上一层文件目录

getName——获得文件名

getAbsolutePath——获得文件绝对路径

delete——删除文件或是空的文件夹

注意:“d:”后加“//”表示盘符下的根目录,不加则表示当前工程下的目录

(2)      对象流:

对象流的主要作用是可将对象存入文件,实现对象持久化,在使用时注意安全化。

(3)      缓冲流:使用缓冲区比没有使用缓冲区的效率更好,因为每趟磁盘操作逗比内存操作花费更多时间。所以用缓冲流对一般流进行封装,这样可以暂时存出一堆数据,直到封装流“满”的时候在实际写入磁盘,这样可以减少对磁盘操作的次数,主要封装流为BufferedWriter、BufferedReader。

3.      递归算法

递归算法简而言之是一个终止条件严谨的循环调用自身的思想,在通过流对文件的复制,遍历,剪切等操作时,这种思想可以大大减少代码的数量。如图所示。

4.      我对流的理解

流就好比是一个从红色装水的桶向蓝色的桶里不断地盛水、倒水的过程,流就好比是一个竹筒,先从红色的桶里舀水(读取)再送到蓝色的桶边(传递),最后倒进蓝色的桶(刷新流管道,写入)。缓冲流就好比是一个灌满了竹筒的水风车从一边不断地舀水,所有的竹筒都装满水后再倒入另一边。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值