黑马程序员技术交流社区
标题:
【石家庄校区】JavaEE个人学习总结day09-io
[打印本页]
作者:
sun2ice
时间:
2018-1-4 17:04
标题:
【石家庄校区】JavaEE个人学习总结day09-io
本帖最后由 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()`
: 释放资源
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2