【File 基础】
//File.separator 多系统下面通用的分隔符 /
file new 出来的file 文件不一定存在 有可能不存在
//路径分隔符 win下面是; linux下面是 :
//String s = File.pathSeparator;
//new一个file 如果没有这个文件 也会创建一个文件
File file1 = new File("D:"+File.separator+"images"+File.separator+"a.txt");
//判断文件是否存在
if(!file1.exists()) {
//创建一个文件 有IO异常
try {
boolean b = file1.createNewFile();
System.out.print(b);
}catch(IOException e) {
e.printStackTrace();
}
}
//删除这个文件 返回boolean值
//file1.delete();
获取文件名
f1.getName();
//得到文件上一级路径 返回String
String updir = file1.getParent();
//D:\images
//System.out.print(updir);
//判断一个路径是否文件夹
//System.out.print(file1.isDirectory());
//判断是否是文件
//System.out.print(file1.isFile());
//列出文件夹中的文件名 返回String数组
//File f2 = new File("d:\\wamp");
//String[] list = f2.list();
//foreach 输出
//for(String a:list) {
//System.out.println(a);
//}
//列出文件夹中的文件 每个文件返回一个单独的file对象 可以用他来操作
/*
File f3 = new File("d:\\wamp");
File[] list = f3.listFiles();
//foreach 输出
for(File a:list) {
System.out.println(a.getPath()+"---------"+a.length());
}
*/
//创建文件夹 mkdirs 如果递归创建多个目录 用 mkdirs 比如 /aa/bb aa、bb都是未创建的
//File f4 = new File("d:\\gwyy\\aaa");
//f4.mkdir();
重命名 要声明2个类
File f5 = new File("d:\\k.txt");
File f6 = new File("d:\\aaa.txt");
f5.renameTo(f6);
任意一个目录 从目录中(包括子目录)查找所有后缀txt的文件
public static void main(String[] args) {
File f1 = new File("d:\\wamp\\www\\obj_ecshop");
fildFile(f1,".php");
}
//递归搜索
public static void fildFile(File file,String extName) {
if(file == null) return;
if(!file.isDirectory()) return ;
//查找当前目录下面所有的文件
File[] fs = file.listFiles();
if(fs == null) return ;
//循环这个目录
for(File f:fs) {
//判断是不是文件夹
if(f.isDirectory()) {
fildFile(f,extName);
}
//判断是不是 结尾的 如果是的话 打印出来
String path = f.getPath().toLowerCase();
//如果一样 输出
if(path.endsWith(extName)) {
System.out.println(path);
}
}