File类
文件和目录路径名的抽象表示形式。可以表示文件,也可以表示目录。
构造方式:
File(String pathname)
File(String parent,String child):根据一个父目录和子目录来创建对象。
File(File parent,String child):根据一个父文件对象和子文件的目录
File(file3,”day02总结.java”)
常用方法:
creatNewFile();创建文件,当创建文件时没有给出路径的话, 会写在默认路径下:(默认路径和绝对路径、相对路径:默认路径时工程所在的路径,绝对路径时给定盘符的路径,相对路径是没有给定盘符的路径)
mkdir()创建单层路径
mkdrs()创建多层路径
renameTo()重命名功能:注意重命名前后的路径名如果相同,就是直接改名,但是如果路径名不相同,就是剪切够改名。
isDirectory():判断是否是路径
isFile():判断是否是文件
exists():判断是否存在
canRead():/canWrite()/isHadden():是否可读,可写,隐藏。
getAbsolutePath();返回绝对路径
getPath();返回相对路径。
getParent():获取文件父文件的目录名,如果没有父目录的话,返回null;
getParentFile():获取文件父文件,如果没有父文件,返回null
lastModified():最后一次修改时间
list():获取指定目录下的所有文件或文件名称数组。
ListFile():指定目录下的所有文件或文件夹的File数组。
import java.io.File;
public class Test {
//
public static void main(String[] args) {
// 需求:判断D盘指定目录下是否有后缀名.jpg的文件,如果有,就输出该文件名称
File f=new File("D:\\picturea");
String [] f1= f.list();
for (String s : f1) {
if(s.endsWith(".jpg")){
System.out.println(s);
}
}
}
}
文件名过滤器:
是在调用list方法的时候在参数中可以通过过滤器过滤直接得到符合我们要求的文件进行存储,就不用之后再遍历挑选了。
过滤器具体的使用方式如下。
public static void main(String[] args) {
// 文件名称过滤器的使用: 需求:判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称
File file = new File("D:\\新建文件夹");
String []s = new String[100];
File[] files = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File file1 = new File(dir,name);
if(name.endsWith(".jpg")) {
// System.out.println("yunxingdao");
return true;
}else return false;
}
});
for (File file1 : files) {
System.out.println(file1);
}
}