目录
前言
File的操作,这只是io的前奏
一、File
File类 :表示文件和目录路径名的抽象表达形式
二、作用
File类可以实现 文件的创建 删除 重命名 得到文件路径 创建时间等
三、使用---代码示例
File类的操作方法
1.文件基本操作
代码示例
文件创建 判断是否是文件 删除文件 列出文件名 列出文件路径 判断是否隐藏文件
创建文件夹
//创建文件
//路径: D:/io/lzy.txt D:\\io\\lzy.txt
File f1 = new File("D:/io/lzy.txt");
if (!f1.exists()){
f1.createNewFile();
System.out.println("创建成功");
}
// f1.isDirectory();判断是否是文件夹
System.out.println(f1.isDirectory());
File f2 = new File("D:/io/lzy1.txt");
if (!f2.exists()){
f2.createNewFile();
System.out.println("f2创建成功");
}
//f2.delete(); //删除文件
//System.out.println(f2.delete());
String[] names=f2.list(); //列出当前目录下的所所有文件名
System.out.println(Arrays.toString(names));
File[] fs = f1.listFiles();//列出当前目录下的所有文件名并且返回file对象
System.out.println("name"+f1.getName()); //文件名字
System.out.println("相对路径"+f1.getPath());
System.out.println("绝对路径"+f1.getAbsolutePath());
System.out.println("是否隐藏文件"+f1.isHidden());
File f4 = new File("D:/io/lzy2");
f4.mkdirs();//创建文件夹
f4.mkdir();
// for (File f:fs){
// System.out.println("name"+f.getName());
// }
}
2.列出指定的文件名
思路:先把文件夹里面的内容列出,然后递归确定是否符合条件的文件再输出
/**
* @param target 文件路径
* @param ext 文件后缀名
* @deprecated 列出指定的文件名
先把文件夹里面的内容列出,然后递归确定是否符合条件的文件再输出
* */
private static void findFile(File target,String ext){
if (target==null){return;}
if (target.isDirectory()){ //判断是否是文件夹
File[] files = target.listFiles(); //是文件夹 把里面的文件全部不列出
if (files!=null){
for (File f:files){ //再把文件对象递归
findFile(f,ext);
}
}
}else {//不再是文件夹了
String name = target.getName().toLowerCase(); //列出文件名
System.out.println(name);
if (name.endsWith(ext)) { //判断是已ext结尾
System.out.println(target.getAbsoluteFile()); //把符合条件的文件名输出
}
}
}
总结
文件file的操作,file是io流的基石,所以熟练file的基本操作是非常有必要的。