File类用来代表文件和文件夹。主要作用有两个:获取文件或者文件夹的属性; 实现对文件、文件夹的创建和删除。 文件夹:file folder 目录:directory
File file=new File(e:/javaProjects/readme.txt)//File里面是创建file对象的路径
使用File获取文件或者文件夹属性
file.getName()//获取文件或者文件夹名称
file.length()//获取文件内容长度
file.exists()//判断文件或者文件夹是否存在
file.fetPath()//获取文件或者文件夹相对路径
file.getAbsolutePath()//获取绝对路径
file.isDirecctory()//判断file是否指向一个目录
file.isFile()//判断file是否指向一个文件
file.canWrite()//是否可写
file.canRead()//是否可读
file.canExecute()//是否可运行
(这三个是指的文件的权限)
public class TestFile1 {
public static void main(String[] args) {
//1.创建一个File对象,指向一个文件或者文件夹
//File file = new File("c:\\bjsxt\\readme.txt");
//File file = new File("c:/bjsxt/readme.txt");
//File file = new File("readme.txt");
File file = new File("c:/");
//2.使用这个File对象,获取文件或者文件夹的属性
System.out.println(file.getName());//文件或者文件夹的名称
System.out.println(file.length());//长度
System.out.println(file.exists());//是否存在
System.out.println(file.getPath());//
System.out.println(file.getAbsolutePath());//绝对路径
System.out.println(file.isDirectory());//判断file是否指向一个目录
System.out.println(file.isFile());//判断file是否指向一个文件
System.out.println(file.isHidden());
System.out.println(file.canWrite());
System.out.println(file.canRead());
System.out.println(file.canExecute());
//String [] fileNameArr = file.list();
//某个文件夹下有哪些子文件夹和文件
System.out.println("============");
File fileArr[] = file.listFiles();
for(File f :fileArr){
//System.out.println(f.toString());
System.out.print(new Date(f.lastModified()).toLocaleString());
if(f.isFile()){
System.out.print(" "+f.length()+" ");
}else{
System.out.print(" <DIR> ");
}
System.out.println(f.getName());
}
}
}
使用File类新建、删除文件和文件夹
file.createNewFIie()//创建文件
file.getParentFIie()//返回上一级目录
dir.mkdir();//创建一级目录
dir,mkdirs;//创建多级目录
public class TestFile2 { //使用File指向一个文件 public static void main(String[] args) { File file = new File("e:/ideaProjects/file/java/AI/readme.txt"); if (file.exists()) { file.delete(); } else { File dir = file.getParentFile(); if (!dir.exists()) { dir.mkdir();//make dir dir.mkdirs(); } try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } }