File文件的常用方法
File文件:File对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径这个路径可以是存在的,也允许是不存在的
文件对象创建方法
public File(String pathname)根据文件路径创建文件对象
import java.io.*;
public Class Main{
public static void main(String[] args){
File f1 = new File("C:\\aaa.txt");
}
}
public File(String parent,String child)根据父路径名字符串和子路径名字符串创建对应对象
import java.io.*;
public Class Main{
public static void main(String[] args){
File f1 = new File("C:","aaa");
}
}
public File(File parent, String child)根据父路径对应文件对象和子路径名字符串创建文件对象
import java.io.*;
public Class Main{
public static void main(String[] args){
File f1 = new File("C:");
File f2 = new File(f1,"aaa");
}
}
文件使用方法
public boolean isDirectory()判断此路径表示的File是否为文件夹
public boolean isFile()判断此路径名表示的File是否为文件
public boolean exists()判断此路径名表示的File是否存在
public long length()返回文件的大小(字节数量)
public String getAbsolutePath()返回文件的绝对路径
public String getPath()返回定义文件时使用的路径
public String getName()返回文件的名称,带后缀
public long lastModified()返回文件的最后修改时间(时间毫秒值)
以下方法重点掌握listFiles方法,其他方法都可用listFiles变形得到,做了解即可。
public static File[] listRoots()列出可用的文件系统根
public String[] list()获取当前该路径下所有内容
public String[] list(FilenameFilter filter)利用文件名顾虑器获取当前路径下所有内容
public File[] listFiles()获取当前该路径下所有内容
public File[] listFiles(FileFilter filter)利用文件名顾虑器获取当前路径下所有内容
public File[] listFiles(FilenameFileter filter)利用文件名顾虑器获取当前路径下所有内容
使用isFile和endswith方法,listFile方法判断并遍历C盘中所有以.avi结尾的文件
import java.io.File;
public class File{
public static void main(String[] args){
File f1 = new File("C:\\");//创建对象
findAVI(f1);
}
public static void findAVI(File file){
File[] files = file.listFiles();//将文件夹中的文件存储到数组内
if(files!=null){//如果文件夹不为空
for (File file1 : files) {//增强for循环遍历数组
if(file1.isFile()){//判断是否为文件
String name = file1.getName();//获取目标文件文件名
if(name.endsWith(".avi")){//判断文件名是否以.avi结尾
System.out.println(file1);//打印文件
}
}else{
findAVI(file1);//目标为文件夹,进入下一级寻找.avi文件
}
}
}
}
}
创建、删除文件夹方法
public boolean createNewFile()创建一个新的空文件
public boolean mkdir() 创建单级文件夹
public boolean mkdirs()创建多级文件夹
public boolean delete()删除文件、空文件夹
删除文件方法实现,删除文件慎用,因为该方法不走回收站,删除的文件极难找回
import java.io.File;
public class File{
/*
* 删除一个文件夹
* 先删除文件夹里面的所有内容
* 再删除自己
* */
public static void main(String[] args) {
File f1 = new File("C:");
delete(f1);
}
public static void delete(File src){
File []files = src.listFiles();
for (File file : files) {
if(file.isFile()){//判断是否为文件
file.delete();//是就删除
}else delete(file);//不是就进入下一级继续寻找文件删除
}
src.delete();
}
}