IO流:数据的输入与输出
File类
(描述文件和文件夹的类)
构造方法
(是构造File类的方法,不是创建文件或文件夹的方法)
1.File(File parent,String child)
根据parent的路径名和child路径名字符创建一个新的|File实例
2.File(String pathname)
根据路径名字符抽象为路径名创建一个新的File实例
3.File(String parent,String child)
类似1,不过此时的父文件由路径名提供,不由File实例提供
目录分隔符
在windows机器中目录分隔符使用\或/,但在Linux中使用//,此时使用File.sparator可以表示目录分隔符,在两种环境中都适用
路径问题
1.绝对路径:完整的路径,以盘符开头
2.相对路径:相对路径就是资源文件相对于当前程序所在的位置
. 当前路径
.. 上一级路径
创建文件或文件夹的方法
1.createNewFile(String path) :在指定路径创建一个文件,创建成功返回true,如果该路径下已存在就不创建,返回false
File file=new File(“D:\b.txt”);
file.createNewFile();//创建一个名字为b的txt文件
2.mkdir(String path) 在指定路径下创建一个目录,只会创建最后一级目录,上方任何一级目录不存在就抛出异常
File dir=new File(“D:\aaa”);
dir.mkdir();//在D盘里面创建aaa目录
File dir=new File(“D:\aaa\bbb”);
dir.mkdir();//在D盘里面的aaa目录下创建bbb目录,如果D盘中不存在aaa目录,则抛出异常IOexception
3.mkdirs(String pathname) 在指定路径下创建一个目录,如果最后一级目录的上级中有不存在的,则自动创建
File dir=new File(“D:\aaa\bbb”);
dir.mkdir();//在D盘里面的aaa目录下创建bbb目录,如果D盘中不存在aaa目录,则先在D盘中创建aaa目录,在创建bbb目录
修改和删除
1.renameTO()
(1)如果目标文件与源文件在同一个路径下,那么renameTo的作用是重命名
(2)如果不在同一个路径下面,则作用是剪切,剪切并重命名到renameTo的路径
(3)重命名可以操作文件夹,但剪切不能操作文件夹
使用成功返回true,否则返回false
File dir=new File(“D:\aaa”);
dir.mkdir();//创建文件夹
File dest=new File(“D:\abc”);
dir.renameTo(dest);//将文件夹改名
2.delete()
删除文件或一个空文件夹,如果文件夹不为空,则不能删除,成功返回true,失败返回false
File file = new File(“D:\abc”);
file.createNewFile();//创建一个新的文件夹
file.delete();//删除file对应的文件夹
3.deleteOnExit()
在jvm虚拟机运行结束的时候删除该文件,只能用于文件,不能用于文件夹
一般,对于临时使用的文件使用该函数
File file = new File(“D:\abc”);
file.createNewFile();//创建一个新的文件夹
file.deleteOnExit();//运行结束删除
上述两个删除方法的不同在于删除的时间不一样
判断
1.exists() 判断文件是否存在
2.isFile() 是否是一个文件,如果不存在,则始终是false
3.isDirectory() 是否是一个目录,如果不存在,则始终是false
(2和3用来区分某个File是文件还是文件夹)
4.isHidden() 是否是一个隐藏的文件或者是否是隐藏的目录
5.isAbsolute() 测试次抽象路径是否为绝对路径名
File file = new File(“D:\a.txt”);
System.out.println(file.exists());//文件是否存在
System.out.println(file.isFile());//是否是一个文件
System.out.println(file.isDirectory());//是否是一个文件夹
System.out.println(file.isHidden());//是否是隐藏文件
System.out.println(file.isAbsolute());//路径名是否为绝对路径