File的小结:
1.属于java.io.File,不能操作文件内部数据哦!
2. (1)创建删除一个目录或者文件(5个)
(2)属性信息(名字,长度,可读写,隐藏,是否是文件目录,7个)
(3)一个目录的子项信息(2个)
******************************************************************************************
知识点1.(创删5个)
1.创建一个文件流程,判断有没有(file.exists()),然后file.createNewFile();
2.删除一个文件流程,判断有没有(file.exists()),然后file.delete();
3.创建一个目录流程,判断有没有(dir.exists()),然后dir.mkdir();或者dir.mkdirs();
4.删除一个目录流程,判断有没有(dir.exists()),然后dir.delete();只能删除空目录
5.删除多级目录,里面含有文件或者目录,使用递归方式,注意不要用if,else.
递归:
public static void delete(File file){
if(file.isDirectory()){
File[] subs=file.listFiles();
for(File sub:subs){
delete(sub);
}
}
file.delete();//不能用if else,不然最后一个目录删不了
}
知识点2.(属性信息7个)
File file=new File("."+File.separator+"demo.txt");//当前目录可以不写./
String name=file.getName();
long length=file.length();
boolean canWrite=file.canWrite();
boolean canRead=file.canRead();
boolean isHidden=file.isHidden();
boolean isFile=file.isFile();
boolean isDirectory=file.isDirectory();
知识点3.(获取目录的子项信息)
(1)获取目录子项 dir.listFiles();
(2)获取目录中的部分子项重载listFiles();里面放一个文件过滤器:如下:
dir.listFiles(new FileFilter(){
public boolean accept(File file){
System.out.println(file.getName());//都进去过
return file.getName().startsWith(".");
}
});