Java | File类
目录:
- File类
- File类中常用的方法:
- boolean exists( ) :判断此 文件/目录 是否存在
- boolean createNewFile( ) :创建一个文件
- boolean mkdir( ) :创建 “单层” 目录/文件夹
- boolean mkdirs( ) :创建 “多层” 目录/文件夹
- String getParent( ) : 获得指定 “文件/目录”的 “父路径”
- File getParentFile( ) : 获得指定 “文件/目录”的 “父路径”
- String getAbsolutePath( ) : 获得绝对路径
- boolean delete( ) : 删除文件/目录
- String getName( ) : 获得文件/路径 的名称
- boolean isDirectory( ) : 判断是否是一个目录/文件夹
- boolean isFile( ) : 判断是否是一个文件
- long lastModified( ) : 获得文件最后一次修改时间 ( 毫秒数 )
- long length( ) : 获取文件大小
- File[ ] listFiles( ) : 获取当前目录下的所有子文件
File类
- File类 代表 :文件和目录路径名的抽象表示形式。(File可以是一个文件,也可以是一个目录)
- File类和 IO流 没有关系,File类不能完成文件的读和写。
File类中常用的方法:
boolean exists( ) :判断此 文件/目录 是否存在
//创建File对象File f1 = new File("D:///Apple.txt");//判断文件是否存在 boolean b = f1.exists();System.out.println(b);
boolean createNewFile( ) :创建一个文件
//创建File对象File f1 = new File("D:/Apple123.txt");//创建一个txt文件 ( 在D盘下创建一个Apple.txt文件 )boolean b = f1.createNewFile();System.out.println(b);
boolean mkdir( ) :创建 “单层” 目录/文件夹
mkdir( ) : 创建 “单层” 目录。
即一次只能创建一个目录/文件夹,如果路径中有多个目录,则会创建失败。例子如:
//创建File对象File f1 = new File("D:/App168.txt");/*** 创建一个目录/文件夹 ( 在D盘下创建一个名为: Apple.txt 的目录/文件夹)** "D:\\Apple.txt" : 只有一层 “未创建”目录,此时可创建且不报错*/boolean b =f1.mkdir(); //创建“单层”目录System.out.println(b);
boolean mkdirs( ) :创建 “多层” 目录/文件夹
mkdirs( ) : 创建 “多层” 目录。路径中有多少个目录/文件,则创建多少个目录/文件。
例子如:
//创建File对象File f1 = new File("D:/aaa/bbb/ccc");boolean b =f1.mkdirs(); //创建“多层”目录System.out.println(b);
String getParent( ) : 获得指定 “文件/目录”的 “父路径”
getParent( ) : 获得指定 “文件/目录”的 “父路径” , 返回值为String类型,如果其没有父路径,则返回null。
File f1 = new File("D:/aaa/bbb/ccc/App168.txt");//获得指定 “文件/目录”的 “父路径”String parent1 = f1.getParent();System.out.println(parent1); // 输出路径为: D:/aaa/bbb/cccSystem.out.println();File f2 = new File("D:/aaa/bbb/ccc");//获得指定 “文件/目录”的 “父路径”String parent2 = f2.getParent();System.out.println(parent2); // 输出路径为: D:/aaa/bbbSystem.out.println();File f3 = new File("D:/aaa/bbb");//获得指定 “文件/目录”的 “父路径”String parent3 = f3.getParent();System.out.println(parent3); // 输出路径为: D:/aaa
File getParentFile( ) : 获得指定 “文件/目录”的 “父路径”
getParentFile( ) : 获得指定 “文件/目录”的 “父路径” 。返回值为File对象,如果其没有父路径,则返回null。
例子如:
File f1 = new File("D:\\aaa\\bbb\\ccc\\App168.txt");//获得指定 “文件/目录”的 “父路径”,返回值为File对象File parentFile = f1.getParentFile(); //此时其路径为: D:\aaa\bbb\ccc//获得绝对路径String path =parentFile.getAbsolutePath();System.out.println(path); // 输出路径为: D:\aaa\bbb\ccc
String getAbsolutePath( ) : 获得绝对路径
File f1 = new File("D:\\aaa\\bbb\\ccc\\App168.txt");//获得绝对路径String path =f1.getAbsolutePath();System.out.println(path); // 输出路径为: D:\aaa\bbb\ccc\App168.txt
boolean delete( ) : 删除文件/目录
File f = new File("D:\\aaa\\file.txt");// 删除文件/目录boolean b = f.delete(); //把file.txt给删除System.out.println(b); //true
String getName( ) : 获得文件/路径 的名称
File f = new File("D:/file.txt");// 获取 文件/路径 的名称String name = f.getName();System.out.println(name); // file.txt
boolean isDirectory( ) : 判断是否是一个目录/文件夹
File f = new File("D:/file.txt");// 判断是否是一个目录/文件夹boolean b = f.isDirectory();System.out.println(b); //false
boolean isFile( ) : 判断是否是一个文件
File f = new File("D:/file.txt");// 判断是否是一个文件boolean b = f.isFile();System.out.println(b); //true
long lastModified( ) : 获得文件最后一次修改时间 ( 毫秒数 )
File f = new File("D:/file1.txt");// 获得文件最后一次修改时间long time = f.lastModified();//这个毫秒是从1970年到现在的总毫秒数//将总毫秒数转换为日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SS");String strTime = sdf.format(time);System.out.println(strTime);
long length( ) : 获取文件大小
File f = new File("D:/file.txt");// 获取文件大小long length = f.length();System.out.println(length);
File[ ] listFiles( ) : 获取当前目录下的所有子文件
File f = new File("D:/apple");//获取当前目录下的所有子文件File[] files = f.listFiles();for (File file : files) {System.out.println(file.getAbsolutePath()); //获得真实路径