File类
File类是根据文件的名称来操作文件和文件夹的
File类的三种构造:
第一种 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例
public File(String pathname){}
第二种 从父路径名字符串和子路径名字符串创建新的 File实例
public File(String Parent,String Child)
第三种 从父抽象路径名和子路径名字符串创建新的 File实例
public File(File parent,String child){}
绝对路径和相对路径
绝对路径:从盘符开始F:\src\a.txt
相对路径:相对于当前的项目 模块名:a.txt
如果文件不在项目内 就只能使用绝对路径
File类常用的功能
创建一个文件
createNewFile() 当目录下没有该文件时会自动创建文件 如果有此文件会将原来的文件覆盖
创建单层文件夹
mkdir()
创建多层文件夹
mkdirs()
删除文件 不推荐使用 因为该方法删除之后不会走回收站 会直接彻底销毁
delete()
注意事项:
删除没有文件的文件夹
文件夹中有文件时无法删除
判断是否为文件
boolean isFile()
判断是否为文件夹
isDirectory
判断文件是否存在
exists()
获取文件的绝对路径
getAbsoluteFile()
将抽象路径转为文件路径
getPath()
获取文件或者文件夹名
getName()
获得此路径下包含所有的文件和文件夹名称的数组
File [] listFiles()
IO流
Intput 输入 读 将数据从硬盘进内存的过程 称之为读
Output 输出 写 是从数据从内存到硬盘的过程 称之为写 以内存为参照物
IO流的分类
按流向来分 输入/输出流
按照数据类型分
字节流 : 操作所有类型的文件
字符流: 只能操作纯文本文件
视频文件的后缀名:*.avi *.mp4 二进制文件
音频文件的后缀名:*.mp3 二进制文件
图片文件的后缀名: *.jpg *.png *.gif 二进制文件
*.doc *.docx *.xsl office文件 二进制文件
纯文本 *.txt *.java *.xml *.html 文本文件
换行符
Windows:\r\n
Linux:\n
mac 早期\r
System.lineSeparator():如果希望找到与操作系统通用的换行符可以使用此方法
字节流抽象父类
- InputStream:这个抽象类是表示字节输入流的所有类的父类
- OutputStream:这个抽象类是表示字节输出流的所有类的父类
- 子类名特点:子类名称都是以其父类名作为子类名的后缀
文件字节输入流 FileInputStream&文件字节输出流 FileOutputStream