文件管理
文件管理的概述:
- Java中的对文件的管理,通过java.io包中的File类实现
- Java中文件的管理,主要是针对文件或是目录路径名的管理
File类的四种构造方法
测试的demo中需要导入包import java.io.File;
1.通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例
File 变量名 = new File(String pathname) ;
File f = new File("D:/powerBI/file.txt");
通过将给定File的uri转换成抽象路径名来创建一个新 File 实例
在工程文件夹下创建文件
File 变量名 = new File(URI uri) ;
File f2 = new File("file/file.txt"); //在根目录下file文件夹创建file.txt文件
根据 parent 路径名字符串和 child 路径名字符串创建一个 新 File 实例
File 变量名 = new File(String parent,Stirng child) ;
File f3 = new File("D:/powerBI","file.txt"); //在D:/powerBI目录下创建file.txt文件
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例
File 变量名 = new File(File parent,Stirng child) ;
File f4 = new File(new File("file"),"file.txt");
File类的方法
boolean createNewFile()
当且仅当不存在具有此抽象路径名指定的名 称的文件时,原子地创建由此抽象路径名指 定的一个新的空文件。
//判断文件不存在则创建给目录以及文件
File f = new File("D:/powerBI/file.txt");
if(f.exists()) {
System.out.println("文件已经存在");
}else {
try {
boolean result = f.createNewFile();//创建成功返回true,不成功返回false(该文件已经存在)
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
static File createTempFile(String prefix,String suffix)
在默认临时文件目录中创建一个空文件,使 用给定前缀和后缀生成其名称
//此方法需要配合try cath语句一起使用
try {
File tempFile = File.createTempFile("临时文件", ".xlsx");
System.out.println("临时文件tempFile的绝对文件路径"+tempFile.getAbsolutePath());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
static File createTempFile(String prefix,Stirng suffix,File directory)
在指定目录中创建一个新的空文件,使用给 定的前缀和后缀字符串生成其名称
try {
//此方法需要配合try cath语句一起使用
File tempFile2 = File.createTempFile("指定路径", ".doc",new File("file")); //工程file文件夹
System.out.println("临时文件tempFile的绝对文件路径"+tempFile2.getAbsolutePath());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
boolean exists( )
测试此抽象路径名表示的文件或目录是否存在
File f = new File("D:/powerBI/file.txt");
f.exists(); //存在放回true,不存在放回false
boolean delete( )
删除此抽象路径名表示的文件或目录
try {
//此方法需要配合try cath语句一起使用
System.out.println("文件是否删除"+tempFile.delete());
System.out.println("文件是否删除"+tempFile2.delete());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
boolean equals(Object obj)
测试此抽象路径名与给定对象是否相等
boolean canRead()
测试应用程序是否可以读取此抽象路径名表示的文件
File f = new File("D:/powerBI/file.txt");
System.out.println("文件可读"+f.canRead()); //可读返回true,不可读放回false
boolean canWrite()
测试应用程序是否可以修改此抽象路径名表示的文件
File f = new File("D:/powerBI/file.txt");
System.out.println("文件是否可写"+f.canWrite()); //文件可写放回true,不可写放回false
String[] list( )
返回由此抽象路径名所表示的目录中的文件和 目录的名称所组成字符串数组
String getAbsolutePath( )
返回抽象路径名的绝对路径(D:/powerBI/file.txt)名字符串
File f = new File("D:/powerBI/file.txt");
System.out.println("文件绝对路径"+f.getAbsolutePath());
String getName( )
返回由此抽象路径名表示的文件或目录的名 称,不包括路径名称
File f = new File("D:/powerBI/file.txt");
System.out.println("文件名称"+f.getName()); //file.txt
String getPath( )
将此抽象路径名转换为一个路径名字符串
File f = new File("D:/powerBI/file.txt");
System.out.println("文件相对路径"+f.getPath()); //D:/powerBI/file.txt
File[] listFiles()
返回一个抽象路径名数组,这些路径名表示 此抽象路径名所表示目录中的文件
boolean renameTo(File dest )
重新命名此抽象路径名表示的文件
long length( )
返回由此抽象路径名表示的文件的大小,以 byte为单位
File f = new File("D:/powerBI/file.txt");
System.out.println("文件内容长度"+f.length());
boolean mkdir( )
创建此抽象路径名指定的目录
File f3 = new File("D:/powerBI/a2");
boolean mkrs = f3.mkdir();
System.out.println("创建文件夹是否成功"+mkrs); //创建成功返回true,不成功返回false(该文件已经存在)
boolean mkdirs( )
创建此抽象路径名指定的目录,包括创建必 需但不存在的父目录。注意,如果此操作失 败,可能已成功创建了一些必需的父目录
File f4 = new File("D:/powerBI/aa2/b/c");
boolean mkr = f4.mkdirs();
System.out.println("创建文件夹是否成功"+mkr);//创建成功返回true,不成功返回false(该文件已经存在)
File f = new File("D:/powerBI/file.txt");
System.out.println("文件最后一次修改时间"+new Date(f.lastModified()).toLocaleString());