File类常见方法
1, 创建 boolean creatNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false,与输出流不一样。输出流一旦创建文件,如果存在相同文件名的文件已存在,则会覆盖该文件
2, 删除
boolean delete():删除失败返回false
void deleteOnExit():在程序退出时删除指定文件
3, 判断
boolean canExecute():测试文件是否能执行
boolean exists():判断文件是否存在
boolean mkdir():只能创建一级目录
boolean mkdirs():能创建多级目录
boolean isFile():判断是否是文件
boolean isDirectory():判断是否是目录
备注:在判断文件对象是否是文件或者目录时先判断该文件对象封装的内容是否存在,通过exists()判断。
boolean isHidden():判断文件是否隐藏
boolean isAbsolute():是否是绝对路径
4, 获取信息(文件名,文件所在路径)
getName():获取名称
getPath():获取路径
getParent():返回据对路径中的文件父目录,如果获取的是相对路径则返回空
getAbsolutePath():获得绝对路径
listRoots():获得机器盘符
list():返回指定目录下的所有文件,包含隐藏文件,调用list方法的file对象必须是封装了一个目录,该目录必须存在
listFiles():
其实现代码如下
import java.io.*;
public class FileDemo {
public static void main(String[] args) throws IOException{
Method_4();
}
public static void Method_1() throws IOException{
File f=new File("G:\\file1.txt");
sop("creat:"+f.createNewFile());
//sop("delete:"+f.delete());
}
public static void Method_2(){
File f=new File("G:\\file1.txt");
//sop("execute:"+f.canExecute());
//sop("exists:"+f.exists());
File dir=new File("G:\\ddd");
sop("mkdir:"+dir.mkdir());
}
//创建Flie对象
public static void Method_3() throws IOException{
File f=new File("G:\\file1.txt");
sop("exists:"+f.exists());
sop("isFile:"+f.isFile());
sop("isDirectory:"+f.isDirectory());
}
public static void Method_4(){
File f=new File("D:\\Eclipse\\java\\IO\\DateDemo.java");
//获得路径
sop("Path:"+f.getPath());
//获得绝对路径
sop("AbsolutePath():"+f.getAbsolutePath());
//获得绝对路径下中父目录
sop("Parent:"+f.getParent());
}
public static void consMethod(){
//将b.txt封装成File对象,可以将已有的和未出现的文件或文件夹封装成对象
File f1=new File("G:\\abc\\b.txt");
//
File f2=new File("G:\\abc","c.txt");
File d=new File("G:\\abc");
File f3=new File(d,"d.txt");
sop("f1:"+f1);
sop("f2:"+f2);
sop("f3:"+f3);
}
public static void sop(Object obj){
System.out.println(obj);
}
}
import java.io.*;
public class FileDemo2 {
public static void main(String[] args){
//listDemo();
//listRootsDemo();
listDemo_2();
}
public static void listDemo_2(){
File dir=new File("F:\\新建文件夹");
String[] arr=dir.list(new FilenameFilter(){
public boolean accept(File dir,String name){
return name.endsWith(".mp4");
}
});
System.out.println("len:"+arr.length);
for(String name:arr){
System.out.println(name);
}
}
public static void listDemo(){
File f=new File("G:\\");//随意指定一个电脑中的盘符
String[] names=f.list();
for(String name:names)
System.out.println(name);
}
public static void listRootsDemo(){
File[] files=File.listRoots();
for(File f:files)
System.out.println(f);
}
}
import java.io.*;
public class FileDemo3 {
public static void main(String[] args){
File dir=new File("G:\\入学视频");
showDir(dir);
}
public static void showDir(File dir){
System.out.println(dir);
File[] files=dir.listFiles();
for(int x=0;x<files.length;x++){
if(files[x].isDirectory())
showDir(files[x]);
else
System.out.println(files[x]);
}
}
}