A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 巴拉巴拉x 初级黑马   /  2018-4-23 14:44  /  421 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2018-4-26 17:21 编辑

IO流



IO流的概述和分类File类的概述和常用功能
  • File : 文件和目录 路径的表现形式
    • 是文件和目录的路径名的抽象表现形式
    • 构造方法: (注意:不会在磁盘上创建这个文件)
      • File(String pathname);将指定的路径名转换成一个File对象,此对象指向了一个路径.
      • File(String parent,String chld);根据指定的父路径和文件路径创建File对象
      • File(File parent, String chile);根据指定的父路径对象和文件路径创建File对象
      • 构造方法只是创建一个对象,指向路径,不是创建文件或文件

    • File的常用功能
      • 创建功能:
        • boolean createNewFile();只能创建文件,不能创建目录.

      • 删除功能:
        • boolean delete();

      • 获取功能
        • File getAbsoluteFile()

      • 判断功能
        • boolean exists();判断文件或者文件夹是否存在,如果存在返回true,否则返回false;
        • boolean isAbsolute();判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true,否则返回false;
        • boolean isDirectory();判断File对象是否是文件夹,是文件夹则返回true,否则返回false.
        • boolean isFile();判断File对象是否是文件,是文件则返回true,不是则返回false.
        • boolean isHidden();判断File对象指向的路径是否有隐藏属性,如果隐藏了返回true,否则返回false.

      • 修改功能(一般修改文件或文件夹的名字)



File类的创建和删除功能
  • 绝对路径:固定不可改变的路径,以盘符开头
  • 相对路径: 相对某个参照物,不能以盘符开头
  • 删除一个文件夹,则他里面不能有目录或文件,
    • 在eclipse中相对路径相对应当前目录的根目录

  • 创建功能
    • boolean createNewFile();当前 文件不存在是创建文件并返回true,否则返回flase.只能创建文件,不能创建目录
    • boolean mkdir();当前指定 文件夹不存在就创建文件夹并返回true,否则返回flase.
    • boolean mkdirs();创建指定文件夹,当文件夹所在的目录不存在,则顺道一块创建了.(创建多级文件夹)

  • 删除功能
    • boolean delete();当指定的文件或文件夹存在则删除文件或文件夹,并返回true,否则返回false,
    • 如果是多级目录,则删除最后一个,
    • delete()删除的文件或文件夹不进回收站,直接永久删除!!

  • File类的获取功能和修改名字功能
    • File getAbsoluteFile();以File对象的形式返回当前File对象所指向的绝对路径
    • String getAbsolutePath();返回File对象所指向的绝对路径
    • String getParent();
    • String getParentFile();
    • String getName();获取文件或文件夹的名称
    • String getPath();返回创建File对象时给的路径.
    • long getlastModified();以毫秒的形式返回此文件或文件夹最后修改的时间.
    • long length();返回 文件字节数!!

  • 修改功能
    • boolean renameTo(File dest);参数是个对象.将当前File对象所指向的路径修改为指定File所指向的路径.
    • 注意: 修改的文件或文件夹的名字不能存在,如果存在返回false,修改不成功.


File的重要获取功能
  • String[] list();返回的是当前路径下所有的文件和文件夹名称.
    • 注意: 只有指向文件夹的File对象才能使用

  • File[] listFiles();返回的是当前路径下所有的文件和文件夹的File对象,对象可以调用方法
  • 注意返回值类型,是字符串还是File对象!!

删除指定目录(包含子目录)
  • 先判断是否存在
  • 如果存在判断是否是文件夹
  • 如果是文件夹就获取文件内容存入File对象数组
  • 遍历数组,删除,
  • 删完子文件,删除自己.

IO流分类
  • 流向
    • 输入流 读取数据 FileReader Reader
    • 输出流 写出数据 FileWriter Writer

  • 数据类型

    • 字节流
      • 字节输入流
        • InputStream类

      • 字节输出流
        • OutputStream类

      • 目前用的是io包下的字节输入输出流
      • 字节输出流可以不用刷新(即,不用调用flush())

    • 字符流

      • 字符输入流
        • Reader类

      • 字符输出流
        • Writer类


    • 字节流可以处理任何文件,音频,视频,文件都可以,字符流只能处理一部分,字符流可以处理的字节流都可以处理
    • 二进制文件只能使用字节流进行复制(使用windows自带记事本打开读不懂的文件)
    • 文本文件的复制即可使用字节流,也可以使用字符流
    • 字符流复制二进制文件会丢失数据.




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马