104.File常用方法(文件名、路径名、判断状态、获取长度和创建、删除文件)

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等是操作系统的设备名

猜你喜欢

转载自blog.csdn.net/qq_43808700/article/details/107462609