01:file的概述
1.在电脑中的文件或者目录在java中都使用File来进行描述
2.File的使用
1.导包:java.io.File
2.创建对象
Constructor
File(File parent,String child)
File(String pathname)
File(String parent,String child)
File(uri)
3.方法的使用
在描述文件路径的时候:对于Win OS来讲 路径之间使用\,对于其他Unix,Mac,Linux都是使用/ 其实可以通用的
02:File对象的创建
构建File对象的三种方法:
public File(String path):路径
public File(String parent,String child):父路径,子文件名
public File(File parent,String child):父目录File对象,子文件名
public class Demo01 {
public static void main(String[] args) {
String path1 = "D:\\abc\\IT书籍\\Java从入门到精通.pdf";
//public File(String path)
File f1 = new File(path1);
System.out.println("f1 = " + f1);
// public File(String parent,String child)
//D:\abc\IT书籍\Java从入门到精通.pdf
String parent = "D:\\abc\\IT书籍"; //父目录
String child = "Java从入门到精通.pdf"; //该目录下的文件
File f2 = new File(parent, child);
System.out.println("f2 = " + f2);
// public File(File parent,String child)
File f3 = new File(new File(parent),child);
System.out.println("f3 = " + f3);
}
}
执行效果:
f1=D:\abc\IT书籍\Java从入门到精通.pdf
f2=D:\abc\IT书籍\Java从入门到精通.pdf
f3=D:\abc\IT书籍\Java从入门到精通.pdf
创建File的注意事项:
不管字符串描述文件路径是否存在,都可以使用这个字符串去创建一个File对象
03 File对象的获取相关方法
1.public String getAbsolutePath():返回此File的绝对路径名字符串。
绝对路径就是从盘符开始的路径
2.public String getPath():将此File转换为路径名字符串(构造对象使用的什么路径,就是什么路径)。
字符串路径和File对象的转化
字符串路径-->File对象:构造方法
File对象-->字符串路径:getPath()
3.public String getName():返回由此File表示的文件或目录的名称。(简短名称)
4.public long length():返回由此File表示的文件长度【大小】。
5.public String getParent():获取父目录的字符串
6.public File getParentFile():获取父目录的File对象
04相对路径和绝对路径
绝对路径:从盘符开始直到该文件的具体路径
相对路径:相对于项目的根路径【项目中常用】
05 文件判断功能
public boolean exists():此File表示的文件或目录是否实际存在。
public boolean isDirectoty:此File表示是否为目录。
3.public boolean ifFile():此File表示是否为文件。
注意:如果是一个不存在的文件,既不是文件夹也不是文件,调用isDirectory(),isFile()都会返回一个false结果
06创建删除方法
public boolean createFile():当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
2.public boolean delete():删除由此File表示的文件或目录
如果删除的目录,那么目录要为空,否则删除将会失败
gai
该方法删除是永久删除,要谨慎使用
创建文件夹
public boolean mkdir():创建由此File表示的目录。
public boolean mkdirs():创建由此File表示的目录,包括任何必须但不存在的父目录
07文件目录的遍历
文件目录的遍历方法:
1.public String[] list();返回一个String数组,表示该File目录中的所有子文件或目录。只能获取
当前目录下的所有文件的简短名称,以字符串数组返回
2.public File[] listFiles():返回一个File数组,表示该File目录中的所有子文件或目录。
只能获取当前目录下的所有文件的对象【不包含孙目录的内容】,以File数组返回。
当调用两个方法获取子目录时,一定要做判断,判断是否为目录【文件夹】