开发工具与关键技术:java、 elipse2019、jdk1.8
作者:Amewin
撰写时间:2019年4月13日
File 类的说明:
在 Java 中,File 类是java.io包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、 文件路径、访问权限和修改日期等,还可以浏览子目录层次结构
实例代码
package xyz.file.cl;
import java.io.File;
public class FileClass {
public static void main(String[] args) {
String path = "F:\\独秀\\嘿嘿.txt";//指定对象路径
File fileTwo = new File(path);//将path传入File对象中
String str1 = "Test";//指定生成文件名
String str2 = ".txt";//指定生成文件尾缀
FileClass kk = new FileClass();//实例化当前;类对象
kk.InserFiles(fileTwo, str1, str2);//调用封装号的方法
}
@SuppressWarnings("static-access")//作用:用于抑制编译器产生警告信息。
public void InserFiles(File file, String str1, String str2) {
try {
if (file.exists()) {
//exists() 判断是否存在该文件或文件夹 返回True false
//方法1
File deleFile = file.getParentFile();
//getParentFile() 返回此抽象路径名的父,或抽象路径名 null如果此路径名没有指定父目录。
File [] array = deleFile.listFiles();
//返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
for (File file2 : array) {
//用foreach 遍历array
if (!file2.isDirectory()) {
//isDirectory()判断是否是文件夹 当是非文件夹是执行
file2.delete();
//delete() File类中的方法删除文件或目录
//注:当一个文件夹中拥有文件时,时无法将整个文件夹直接删除,必须把子目录下删除才行
}
}
deleFile.deleteOnExit();//请求在虚拟机终止时删除由此抽象路径名表示的文件或目录。
//方法1结束
//方法而2 执行递归删除方法
//delete(deleFile);
//方法而2结束
System.out.println("删除成功!");
} else {
File insertMk = file.getParentFile();
//返回此抽象路径名的父,或抽象路径名 null如果此路径名没有指定父目录。
boolean typeMk = insertMk.mkdir();// mkdir()创建目录
if (typeMk) {
System.out.println("创建目录成功!");
}
file.createTempFile(str1, str2, insertMk);//创建指定文件
boolean type = file.createNewFile();// 创建指定文件
if (type) {
selectFile(file,0);
System.out.println("创建成功!");
}
}
} catch (Exception e) {
// TODO: handle exception
}
}
//递归删除方法
public static void delete(File f) {
if (!f.exists()) {
return;// 文件不存在,返回
}
File[] ff = f.listFiles();
for (File def : ff) {
if (def.isDirectory()) {
delete(def);
}
def.delete();
}
}
//查看当前文件夹文件方法
static void selectFile(File fileTwo, int level){
File deleFile = fileTwo.getParentFile();
System.out.println(deleFile.getName());//打印文件路径名称
System.out.println("文件名称\t文件类型\t文件大小");
System.out.println("==========================");
String [] fileList=deleFile.list(); //调用不带参数的list()方法
for (int i=0;i<fileList.length;i++)
{ //遍历返回的字符数组
System.out.print(fileList[i]+"\t");
System.out.print((new File("C:/",fileList[i])).isFile()?"文件"+ "\t":"文件夹"+"\t");
System.out.println((new File("C:/",fileList[i])).length()+"字节");
}
}
}
演示效果
删除