java学习阶段一 工具类(输入输出流)
介绍
输入-读 输出-写
基本知识
-
File类的使用
//File所在位置具体为java.io.File 使用File对文件进行操作 //常用的使用 File(目标路径);//创建对象同时将目标为文件路径作为传参 对象名.isDirectory();//判断目标是否为目录 对象名.isFile();//判断目标是否为文件 //创建文件 对象名.exists();//判断是否存在 对象名.mkdir();//创建对象的单级目录 对象名.mkdirs();//创建多级目录 //创建文件 对象名.createNewFile();//创建文件 //获取信息 对象名.isAbsoulute()//判断是否时绝对路径 对象名.getPath()//获取相对路径 对象名.getAbsolutePath()//获取绝对路径 对象名.getName()//获取文件名
-
绝对路径与相对路径
当io流文件整体移动到其他文件夹时导致代码中路径失效的问题
绝对路径:从根目录开始写的路径
相对路径:从当前路径开始的路径 创建的文件将放在工程目录下
-
字节流 为多个类的父类 不一一学习
//字节输入流 InputStream //构造方法 传入File对象获取要读的文件 或者直接写文件路径 //成员方法 public int read()//读取一个数据字节 public int read(byte[] b)//读入到byte数组中 public int read(byte[] b,int off,int len)//最后len个字节读入到byte数组中 off为从哪个位置开始 public void close()//关闭此文件输入流并释放资源 返回值为 读取到的字节数组 为 -1时 代表读到文件末尾 //字节输出流OutputStream //构造方法 FileOutputStream(路径,布尔类型)//相比字节输入流多出的方法 如果已存在改文件 如果为false则替代该文件如果为false则在原文件后追加数据 //常用方法中write重载与输入流基本一样 但是没有返回类型
-
缓冲流
//缓冲输入流BufferedInputStream //缓冲输出流BufferedOutputStream //创建输入输出对象后将对象交由缓冲流作为构造方法参数 由缓冲流对象进行操作 对象名.flush()//将缓冲流中数据强制清空 close也可以有相同作用
-
字符流
//字节字符转换流 InputStreamReader 字节转字符 OutputStreamWriter 字符转字节 //对应的一般流 缓冲流
-
对象的序列化与反序列化 对象与字节的相互转换
// ObjectInputStream ObjectOutputStream //创建类 继承Serializable接口 创建对象字节输入输出连接对象流 对象写入文件读取信息
主要事项
1 可以将传入构造方法的路径参数分成多个部分 也可以一个对象沿用其他对象的路径接着写
2 缓冲流就相当于一个桶,把要传输的数据暂时放在桶中 等到桶完全放满时在进行输入输出