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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 sun2ice 于 2018-1-4 17:32 编辑

#day 09 IO
##file概述
*    文件和目录路径名的抽象表现形式,File类的对象不可变
*   构造方法
    (创建了File对象, 并将其指向该路径. 不会在磁盘上创建这个文件)
    `File(String pathname):` 使用指定的路径名创建一个File对象.
    `File(String parent, String child)`: 根据指定的父路径和文件路径创建File对象.
    `File(File parent, String child)`: 根据指定的父路径File对象和文件路径创建File对象
*    绝对路径
    *    固定不可改变的路径,已盘符开头
*    相对路径
    *    相对某个参照物,不能以盘符开头,eclipes中当前项目的根路径   
## 常用成员方法
*   创建:
    * `boolean createNewFile()`: 创建一个新文件. 返回是否创建成功(不存在时创建返回true )
    * `boolean mkdir()`: 创建文件夹, 返回是否创建成功
    * `boolean mkdirs()`: 创建多层 文件夹, 包括指定路径中缺少的父级目录. 返回是否创建成功
*   删除
    * `boolean delete()`: 删除文件或目录. 返回是否删除成功
    * 注意 删除的文件下不能有子文件夹
        * 不走回收站
*   获取
    * `String getPath()`: 获取创建File对象时使用的路径(创建时是相对路径则返回相对路径, 是绝对路径则返回绝对路径)
    * `String getAbsolutePath()`: 获取File对象的绝对路径字符串
    * `File getAbsoluteFile()`: 获取包含绝对路径的File对象
    * `String getParent()`: 获取File对象的父路径字符串
    * `File getParentFile()`: 获取File对象的父路径的File对象
    * `String getName()`: 获取File对象代表的文件名或文件夹名(不含上层目录)
    * `long length()`: 获取File对象所表示的文件的大小, 单位byte
*   注意: 如果File对象是一个文件夹, 则返回值不确定; 如果文件不存在, 则返回0L
    * `long lastModified()`: 获取文件上次修改时间
*    判断
    * `boolean exists()`: 判断文件或目录是否存在
    * `boolean isAbsolute()`: 判断File中保存的是否是绝对路径(盘符开头)
    * `boolean isDirectory()`: 判断该File对象是否为文件夹
    * `boolean isFile()`: 判断该File对象是否为文件
    * `boolean isHidden()`: 判断该文件或文件夹是否为隐藏的
*   修改
    * `boolean renameTo(File dest)`: 修改文件名
    *  注意修改的文件路径不能存在,否则修改失败
*   重要获取功能
    * `String[] list()`: 获取当前路径下所有文件和目录名称(不包括父路径). File对象必须是目录, 否则会报错
    * `File[] listFiles()`: 获取当前路径下的所有文件和目录的File对象. File对象必须是目录
    * `static File[] listRoots()`: 返回系统的所有根路径. windows系统就是各种盘符
##Io流
*    分类
    *    流向
        *    输入流 读数据 FileReader   Reader
        *    输出流 写数据 FileWriter   Writer
    *    数据类型
        *    字节流  
            *    字节输入流  读数据 InputStream
            *    字节输出流  写数据 OutputStream
        *    字符流
            *    字符输出流  读数据  Reader
            *    字符输入流  写数据  Writer
*   FileInputStream类
    * `int read()`: 读取一个字节, 读完返回-1
    * `int read(byte[] b)`: 读取字节到数组中, 返回读取的长度. 读完返回-1
    * `close()`: 释放资源
    * FileOutputStream类
    * `void write(byte b)`: 写一个字节
    * `void write(byte[] b, int offset, int len)`: 从字节数组的指定索引开始写入指定长度个字节
    * `close()`: 释放资源

0 个回复

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