File常用方法归类
部分 | API |
---|---|
路径分隔符 | pathSeparator separator pathSeparatorChar separatorChar |
构造器 | File(File parent, String child) File(String pathname) File(String parent, String child) File(URI uri) |
文件名、路径名 | getPath() getName() getAbsolutePath() getParent() |
判断状态 | exists() isDirectory() isFile() |
获取长度 | length() |
创建、删除文件 | createNewFile() delete() |
函数原型一览:
public String getPath()
public String getName()
public String getAbsolutePath()
public String getParent()
public boolean exists()
public boolean isDirectory()
public boolean isFile()
public boolean createNewFile() throws IOException
public boolean delete()
路径|路径分隔符和构造器
测试demo见File(File的分隔符常量,文件路径表示方式,相对与绝对路径和构造File对象)中的分隔符常量和构造File对象
文件名、路径名:
File src = new File("E:/源库/源代码/Java/IO_test/src/cn/yzy");
System.out.println("文件名:"+src.getName());
//创建File的是路径getName则返回最后一层目录
src = new File("E:/源库/源代码/Java/IO_test/src/cn/yzy/IO/MidsummerEve_ROW.jpg");
System.out.println("文件名:"+src.getName());
//创建File的是路径getName则返回最后一层文件名
System.out.println("创建File时的路径:"+src.getPath());
//返回的是创建File时的路径(从绝对路径创建返回的就是绝对路径,相对路径也保持不变)
System.out.println("绝对路径"+src.getAbsolutePath());
System.out.println("父路径"+src.getParent()); //返回的是创建File时的最后文件之前的父级路径
src = new File("E:/源库/源代码/Java/IO_test/src/cn");
System.out.println("父路径"+src.getParent()); //返回的是创建File时的最后一级路径之前的父级路径
//总结:getParent返回的是创建File时的最后一级路径或者文件之前的父级路径
src = new File("MidsummerEve_ROW.jpg");
System.out.println("父路径"+src.getParent());
src = new File("cn");
System.out.println("绝对路径"+src.getAbsolutePath());
System.out.println("父路径"+src.getParent());
//如果创建File时是一级的相对路径或者文件,则就返回null
//总结:创建File时只有最后一级目录的前面有内容才会返回一个路径,否则都是返回空
总结:
getName返回的是创建File的时的最后一层目录,可以是路径也可以是文件
getPath返回的是创建File时的路径(从绝对路径创建返回的就是绝对路径,相对路径也保持不变)
getAbsolutePath返回的永远是绝对路径,即使文件不存在
getParent返回的是创建File时的最后一级路径或者文件之前的父级路径,创建File时只有最后一级目录的前面有内容才会返回一个路径,否则都是返回空
判断状态
src = new File("E:/源库/源代码/Java/IO_test/src/cn/yzy/IO/MidsummerEve_ROW.jpg");
System.out.println(src.exists());
System.out.println(src.isFile());
System.out.println(src.isDirectory());
只有在exists为真的时候,isFile或isDirectory才有一个为真
获取长度
//获取长度
src = new File("E:/源库/源代码/Java/IO_test/MidsummerEve_ROW.jpg");
System.out.println(src.length());
src = new File("MidsummerEve_ROW.jpg");
System.out.println(src.length());
无论文件是相对路径还是绝对路径都能成功获取文件大小,单位是字节。如果是目录或者是文件不存在的路径则返回的长度是0。
创建、删除文件
src.delete();
src = new File("E:/源库/源代码/Java/IO_test/fsfsfsf.jpg");
System.out.println(src.exists());
System.out.println(src.createNewFile());
System.out.println(src.createNewFile());
System.out.println(src.delete());
createNewFile只能创建文件并且只有文件不存在的时候才会创建成功,文件已经存在就无法创建并返回false
delete删除已经存在的文件
补充早期版本的javaSE可以创建没有后缀的文件,而且文件名不能是con等,因为con等是操作系统的设备名