File类的概述和操作
1.File的构造方法
File(String pathname) 根据一个路径得到File对象
File(String parent,String child)根据一个目录和一个子文件/目录得到File对象
File(File parent,String child) 根据一个父File对象和一个子文件/目录得到File对象
2.File的创建功能
public boolean createNewFile() 创建文件,如果存在这样的文件,就不创建了
File file=new File("C:/Users/Administrator/Desktop/a.txt");
boolean b=file.createNewFile();
System.out.println("创建文件是否成功:"+b);
public boolean mkdir() 创建文件夹,如果存在这样的文件夹,就不创建了
File file=new File("C:/Users/Administrator/Desktop/a/b");
boolean b=file.mkdir();
System.out.println("创建文件夹是否成功:"+b);
public boolean mkdirs() 创建文件夹,如果父文件夹不存在,就会帮你创建出来
3.File类的重命名功能
public boolean renameTo(File dest) 把文件重命名为指定的文件路径
注意事项:
如果路径名相同,就是改名;如果路径名不同,就是改名并剪切。
需求:把C:Users/Administrator/Desktop/a/a.txt文件名改为hello.txt
File file=new File("C:/Users/Administrator/Desktop/a/a.txt");
File dest=new File("C:/Users/Administrator/Desktop/a/helllo.txt");
boolean b=file.renameTo(dest);
System.out.println("重命名是否成功"+b);
4.File类的删除功能
public boolean delete() 删除文件或文件夹
注意事项:
java中的删除不走回收站;要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹。
需求:删除桌面a文件夹下面的b文件夹
File file=new File("C:/Users/Administrator/Desktop/a/b");
boolean b=file.delete();
System.out.println("删除文件是否成功"+b);
5.File类的判断功能
public boolean isDirectory() 判断是否是目录(文件夹)
public boolean isFile() 判断是否是文件
public boolean exists()判断是否存在
public boolean canRead() 判断是否可读
public boolean canWrite()判断是否可写
public boolean isHidden()判断是否隐藏
6.File类的获取功能
public String getAbsolutePath() 获取文件绝对路径
public String getPath() 获取路径(就是构造方法传的路径)
public String getName() 获取名称
public long length() 获取长度(字节数)
public long lastModified() 获取最后一次的修改时间(毫秒值 )
File file=new File("C:/Users/Administrator/Desktop/a/b.txt");
long time=file.lastModified();
//将毫秒值修改为日期时间格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date=new Date(time);
System.out.println(sdf.format(date));
public String[] list() 获取指定目录下的所有文件或文件夹的名称数组
public File[] listFiles() 获取指定目录下的所有文件或者文件夹的File数组
7.文件名称的过滤器的使用
需求:指定一个文件夹,打印这个文件夹中的所有jpg文件名
File file=new File("C:/Users/Administrator/Desktop/a");
String[] subFileName=file.list(new FilenameFilter(){
public boolean accept(File dir,String name){
return name.endWith(".jpg");//如果返回true,将名字存入String数组中,如果返回false则不存
}
});
for(String fn:subFileName){
System.out.println(fn);
}