Java: File
1.File的概述和构造方法File对象就表示一个路径可以是文件的路径、也可以是文件夹的路径这个路径可以是存在的也允许是不存在的File的构造方法File的构造方法方法名称说明public File(String pathname)根据文件路径创建文件对象public File(String parent, String child)根据父路径名字符串和子路径名字符串创建文件对象public File(File parent, String child)根据父路径对应文件对象和子路径名字符串创建文件对象绝对路径是带盘符的。相对路径是不带盘符的默认到当前项目下去找。2.File的常见的成员方法判断、获取方法名称说明public boolean isDirectory()判断此路径名表示的File是否为文件夹public boolean isFile()判断此路径名表示的File是否为文件public boolean exists()判断此路径名表示的File是否存在public long length()返回文件的大小字节数量public String getAbsolutePath()返回文件的绝对路径public String getPath()返回定义文件时使用的路径public String getName()返回文件的名称带后缀public long lastModified()返回文件的最后修改时间时间毫秒值package com.dan.a01myfile; import java.io.File; public class FileDemo2 { public static void main(String[] args) { /** * public boolean isDirectory() 判断此路径名表示的File是否为文件夹 * public boolean isFile() 判断此路径名表示的File是否为文件 * public boolean exists() 判断此路径名表示的File是否存在 */ //1.对一个文件的路径进行判断 File f1 new File(D:\\girl.jpg); System.out.println(f1.isDirectory()); System.out.println(f1.isFile()); System.out.println(f1.exists()); System.out.println(---------------------------); //2.对一个文件夹的路径进行判断 File f2 new File(D:\\study_demo); System.out.println(f2.isDirectory()); System.out.println(f2.isFile()); System.out.println(f2.exists()); System.out.println(---------------------------); //3.对一个不存在的路径进行判断 File f3 new File(D:\\aaaa\\a.text); System.out.println(f3.isDirectory()); System.out.println(f3.isFile()); System.out.println(f3.exists()); } }package com.dan.a01myfile; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class FileDemo3 { public static void main(String[] args) { /** * public long length() 返回文件的大小字节数量 * public String getAbsolutePath() 返回文件的绝对路径 * public String getPath() 返回定义文件时使用的路径 * public String getName() 返回文件的名称带后缀 * public long lastModified() 返回文件的最后修改时间时间毫秒值 */ //1.length()返回文件的大小字节数量 //细节1这个方法只能获取文件的大小单位是字节 //如果单位想要是mb或者G,自己可以不断除以1024 //细节2这个方法无法获取文件夹的大小 //如果我们要获取一个文件夹的大小需要把这个文件夹里面所有的文件大小累加到一起 File f1 new File(D:\\girl.jpg); long len f1.length(); System.out.println(len/1024/1024 mb);//3mb File f2 new File(D:\\study_demo); long len2 f2.length(); System.out.println(len2);//8192不是真实文件夹大小 System.out.println(-------我是分割线--------); //2.public String getAbsolutePath() 返回文件的绝对路径 String path1 f1.getAbsolutePath(); System.out.println(path1); File f3 new File(myfile\\a.text); String path2 f3.getAbsolutePath(); System.out.println(path2); //3. public String getPath() 返回定义文件时使用的路径 String path3 f3.getPath(); System.out.println(path3);//就是定义f1这个变量时候用的路径 //4.public String getName() 返回文件的名称带后缀 String name f3.getName(); System.out.println(name); //5.public long lastModified() 返回文件的最后修改时间时间毫秒值 long time f1.lastModified(); System.out.println(time); //如何把时间的毫秒值变成字符串表示时间呢 //课堂练习 //yyyy年MM月dd日HHmmss // 1. 把毫秒值转成 Date 对象 Date date new Date(time); // 2. 指定格式 SimpleDateFormat sdf new SimpleDateFormat(yyyy年MM月dd日 HH:mm:ss); // 3. 格式化 String timeStr sdf.format(date); // 输出结果 System.out.println(timeStr); } }3.File的常见的成员方法创建、删除方法名称说明public boolean createNewFile()创建一个新的空的文件public boolean mkdir()创建单级文件夹public boolean mkdirs()创建多级文件夹public boolean delete()删除文件、空文件夹重点delete方法默认只能删除文件和空文件夹delete方法直接删除不走回收站package com.dan.a01myfile; import java.io.File; import java.io.IOException; public class FileDemo4 { public static void main(String[] args) throws IOException { /** * public boolean createNewFile() 创建一个新的空的文件 * public boolean mkdir() 创建单级文件夹 * public boolean mkdirs() 创建多级文件夹 * public boolean delete() 删除文件、空文件夹 */ //1.createNewFile() 创建一个新的空的文件 //细节1如果当前路径表示的文件是不存在的则创建成功方法返回true // 如果当前路径表示的文件是存在的则创建失败方法返回false //细节2如果父级路径是不存在的那么方法会有异常IOException //细节3createNewFile方法创建的一定是文件如果路径不包含后缀名则创建一个没有后缀的文件 File f1 new File(D:\\study_demo\\a.text); boolean b f1.createNewFile(); System.out.println(b); //2.mkdir make Directory 创建单级文件夹(目录) //细节1windows当中路径是唯一的如果当前路径已经存在则创建失败返回false //细节2mkdir方法只能创建单级文件夹无法创建多级文件夹 File f2 new File(D:\\aaa); boolean b2 f2.mkdir(); System.out.println(b2); //3.mkdirs 创建多级文件夹 File f3 new File(D:\\aaa\\bbb\\ccc); boolean b3 f3.mkdirs(); System.out.println(b3); //4.delete 删除文件、空文件夹 boolean b4 f1.delete(); System.out.println(b4); } }细节//1.createNewFile() 创建一个新的空的文件 //细节1如果当前路径表示的文件是不存在的则创建成功方法返回true // 如果当前路径表示的文件是存在的则创建失败方法返回false //细节2如果父级路径是不存在的那么方法会有异常IOException //细节3createNewFile方法创建的一定是文件如果路径不包含后缀名则创建一个没有后缀的文件//2.mkdir make Directory 创建单级文件夹(目录) //细节1windows当中路径是唯一的如果当前路径已经存在则创建失败返回false //细节2mkdir方法只能创建单级文件夹无法创建多级文件夹 //3.mkdirs 创建多级文件夹目录 //细节可以创建单级文件夹目录因为该方法底层调用了mkdir4.File的常见成员方法获取并遍历方法名称说明public static File[ ] listRoots()列出可用的文件系统根public String[ ] list()获取当前该路径下所有内容public String[ ] list(FilenameFilter filter)利用文件名过滤器获取当前该路径下所有内容public File[ ] listFiles()获取当前该路径下所有内容public File[ ] listFiles(FileFilter filter)利用文件名过滤器获取当前该路径下所有内容public File[ ] listFiles(FilenameFilter filter)利用文件名过滤器获取当前该路径下所有内容除了listFiles其他的了解一下能看懂就行public File[ ] listFiles()获取当前该路径下的所有内容File中最重要的一个方法当调用者File表示的路径不存在时返回null当调用者File表示的路径是文件时返回null当调用者File表示的路径是一个空文件夹时返回一个长度为0的数组当调用者File表示的路径是一个有内容的文件夹时将里面所有文件和文件夹的路径放在File数组中返回当调用者File表示的路径是一个有隐藏文件的文件夹时将里面所有文件和文件夹的路径放在File数组中返回包含隐藏文件当调用者File表示的路径是需要权限才能访问的文件夹时返回null