IO流处理1

IO流处理:
文件的读写操作处理。 in/out
文件:文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。
流的分类:
按照方向分类:输入流和输出流
输入流:是从文件或磁盘等存储介质读取到程序中
输出流:从程序输出到存储介质或显示设备上
按照读写单位来分类:字节流和字符流
字节流:每次读写一个字节,以字节为单位进行流处理操作
字符流:每次读写一个字符,以字符为单位进行读写处理操作
数据源:文件、视频、声音、文章 网络数据流
装饰者模式:
作用:就是在原有功能的基础上进行一个功能的进一步的扩展
对底层修改是关闭的,对扩展是开放的
JDK API IO流的体系架构:
字节流:
InputStream
–FileInputStream
–FilterInputStream
–ObjectInputStream
–BufferedInputStream
OutputStream
–FileOutStream
–FileOutputStream
–ObjectoutputStream
–BufferedOutputStream
字符流
Reader
–FileReader
–BufferedReader
–InputStreamReader
–FilterReader
Writer
–FileWriter
–BufferedWriter
–OutputStreamWriter
–FilterWriter
File类
文件或文件夹的路径的抽象
File file = new File(“E://upload”);
File file = new File(“E://test.txt”);
E盘upload文件夹下面的test.txt文件
File file = new File(“E://upload”,“test.txt”);
File file = new File(“E://upload//test.txt”);
构造方法
File(String path);带参构造
File(String parent,String child);
常用方法:
boolean exists();判断文件是否存在
boolean createNewFile();在硬盘指定的位置创建指定文件名的文件
boolean canRead();判断文件是否可读
boolean canWriter();判断文件是否可写
String getName();获取文件名称
int length();获取文件的大小
boolean isFile();判断当前对象是否是文件夹
boolean mkdir();创建单个文件夹
boolean mkdirs();创建包含子目录的多层文件夹
File[] listFile();获取文件夹下面的所有文件
InputStream抽象类
无法进行实例化,需要使用子类进行实例化
常用方法:
read();每次读取一个字节
read(byte[] b);每次读取一个指定byte数组长度的字节,并且保存到byte数组中。
read(byte[] b,int start,int len);读取自定义长度数组保存到数组
close();关闭流
FileIntputStream类:
InputStream的子类
作用:以字节的方式读取指定的文件的内容。
构造方法:
FileInputStream(File file);带参构造,参数是文件对象new File(String path);
FileInputStream(String filePath);带参构造,参数是文件路径
常用方法:
read();每次读取一个字节
read(byte[] b);每次读取一个指定byte数组长度的字节,并且保存到byte数组中。
read(byte[] b,int start,int len);读取自定义长度的数据保存到数组
close();关闭流
循环读取文件:
退出的标识值 -1
当读取的返回值为 -1的时候,终止循环
OutputStream类:
以字节的方式写入文件。
子类:
FileOutputStream类
构造方法:
FileOutputStream(File file);带参构造:参数是文件类对象
FileOutputStream(String path);带参构造:参数是文件路径字符串
常用方法:
write(byte b);向文件写入一个字节
write(byte[] b);批量写入byte[]数组长度的字节
write(byte[] b,int start,int len);写入指定长度的字节
close();关闭流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值