Java进阶09
一、File类
File类代表操作系统的文件对象**(文件、文件夹)**
1、File类创建对象
方法
说明
public File(String pathname)
根据文件路径创建文件对象
public Fie(String parent,String child)
根据父路径名字符串和子路径名字符串创建文件对象
public File(File parent,String child)
根据父路径对应文件对象和子路径名字符串创建文件对象
File对象可以定位文件和文件夹
File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的
//1、根据传入的字符串路径,封装File对象
File f1 = new File(“D:\A.txt”);
?
//2、根据传入的字符串(父级路径,子级路径) 封装File对象
File f2 = new File(“D:”,“image”);
?
//3、根据传入(父级路径文件对象,子级路径)封装File对象
File f3 = new File(new File(“D:”),“stu.txt”);
2、相对路径和绝对路径
绝对路径:从盘符的根目录开始,一直到某个具体的文件(写全了)
相对路径:相对于当前项目的路径进行操作
3、File类的常用方法
方法
说明
public booleanisDirectory()
判断此路径名表示的File是否为文件夹
public booleanisFile()
判断此路径名表示的File是否为文件
public booleanexists()
判断此路径名表示的File是否存在
public longlength()
返回文件的大小(字节数量)
public StringgetAbsolutePath()
返回文件的绝对路径
public String getPath()
返回定义文件时使用的路径
public StringgetName()
返回文件的名称、带后缀
public longLastModifyied()
返回文件你的最后修改时间(时间毫秒值)
public class FileMethodDemo1 { ? ?public static void main(String[] args) { ? ? ? ?File f1 = new File("dau09\A.txt"); ? ? ? ? ?//判断是否是文件夹 ? ? ? ?System.out.println(f1.isDirectory()); ? ? ? ? ?//判断是否是文件 ? ? ? ?System.out.println(f1.isFile()); ? ? ? ? ?//判断是否存在 ? ? ? ?System.out.println(f1.exists()); ? ? ? ? ? ? ? ? //获取文件大小(字节数量),如果是文件夹调用该方法会返回错误数据 ? ? ? ?System.out.println(f1.length()); ? ? ? ?//获取绝对路径 ? ? ? ? ?System.out.println(f1.getAbsolutePath()); ? ? ? ? ? ? ? ? //获取文件名 | 文件夹名 ? ? ? ?System.out.println(f1.getName()); ? ? ? ? ? ? ? ?//获取文件最后一次修改时间 ? ? ? ?long time = f1.lastModified(); ? ? ? ?System.out.println(new Date(time)); ? } }**需要注意:**length()这个方法,只能返回文件的大小,如果是文件夹调用,不会报错,但是返回的是错误数据!!!
4、File类的创建和删除方法
方法
说明
public booleancreateNewFile()
创建一个新的空的文件
public boolean mkdir()
只能创建一级文件夹
public booleanmkdirs()
可以创建多级文件夹
方法
说明
public boolean delete()
删除由此抽象路径名表示的文件或空文件夹
**注意:**delete()方法只能删除空文件夹,且不走回收站
public class FileMethodDemo3 { ? ?public static void main(String[] args) throws IOException { ? ? ? ?//创建文件 ? ? ? ?File f1 = new File("day09\B.txt"); ? ? ? ?System.out.println(f1.createNewFile()); ? ? ? ? ?//创建文件夹 ? ? ? ?File f2 = new File("day09\aaa"); ? ? ? ?System.out.println(f2.mkdirs()); ? ? ? ? ?//删除文件 ? ? ? ?System.out.println(f1.delete()); ? ? ? ?//删除文件夹(注意:只能删除空文件夹) ? ? ? ?System.out.println(f2.delete()); ? } }5、File类的遍历方法
方法
说明
public File[]listFiles()
获取当前目录下所有的“一级文件对象”,返回File数组
public class FileMethodDemo4 { ? ?public static void main(String[] args) { ? ? ? ?File dir = new File("D:\"); ? ? ? ? ? ? ? ?//获取当前文件夹下所有的文件和文件夹对象 ? ? ? ?File[] files = dir.listFiles(); ? ? ? ? ?//遍历数组 ? ? ? ?for (File file : files) { ? ? ? ? ? ?System.out.println(file); ? ? ? } ? } }当调用者File表示的路径不存在时,返回null
当调用者File表示的路径是文件时,返回null
当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组
当调用者File表示的路径是需要权限才能访问的文件夹时,返回null