java中的IO流

 首先我们得知道什么是IO流,I表示输入,O表示输出,在java中输入流就是从某地方进行数据读取,然后输出到某个地方。其实就可以理解为I就是读(reader)O就是写(write).

一:File类

File file = new File("")//""号里面填写我们想访问的文件

File类中比较常见的一些方法:getName()//获取文件名字

createNewFile()//创建一个文件

exists()判断此文件是否存在

mkdir()创建一个文件夹

mkdirs()创建一个多级文件夹

isFile()判断当前是不是一个文件

delete()删除

getPath()获取此文件的路径

lastModified()返回此文件的最后一次修改时间

getParent()返回这个文件的父级路径

separator返回盘符

listRoots()返回这个文件列表,返回的是一个数组

 二:流的操作

IO大方向的话是输入流和输出流,小方向可以分为字节流和字符流

1,字节流:

字节流顾名思义就是一个字节的读与写,它一般是去对我们的图片,音视频等这些又数字组成的二进制文件进行操作。

2,字符流:

由于我们的字符是由两个字节组成,我们的字节流是无法对其进行操作,所以这就是我们字符流存在的意义。

了解完这些之后我们就进入正题

1,InputStream和OutStream是两大抽象类,他们是无法实例化的,

FileInputStream和FileOutStream是其子类,这两个是字节流,

这里我们将他们创建对象时放在try()中可以自动关闭我们的流。其中FileOutStream()可传两个参数,第一个参数代表你要进行写操作的对象,第二个true代表不进行覆盖操作,默认为false,write()方法为具体的写操作,flush()为刷新,因为我们的FileInputStream为字节流,所以我们这里创建了一个byte数组用于接受read()操作时,存放读取的内容,其中byte[]中的参数代表容量。

Reader 和 Writer

这两个也是抽象类,其中他们的主要子类是InputStreamReader,OutputStreamWriter,BufferedReader,BufferedWriter

其中InputStreamReader,OutputStreamWriter

和FileInputStream,FileOutputStream相似,只是将传入的类型由byte转换成了char,即用char来接受读与写的操作。

其中 InputStreamReader可传2个变量,第一个为一个字节流,第二个代表编码格式。

FileReader和FileWriter是InputStreamReader,OutputStreamWriter的子类

他们只能对文件进行操作,且不能传编码格式,其它与上面两个无太大差别

 BufferedReader和BufferedWriter

这个是缓冲流,是对Reader和Writer字符流进行缓冲的,他们需要传一个字符流。

其中readLine()可以整行整行的读,比起一个字符一个字符的读速度快了许多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值