java中的File类是计算机的文件和目录路径名的抽象表达形式,比如我们的电脑中的一个.txt文件是一个File,一个文件夹也可是File,java中我们对一个文件或者一个文件夹可以进行包括新建,删除,等等一系列操作,JDK中提供了一个File类,该类封装了一个路径,并提供了一系列用于操作该路径下文件的方法。下面我简单介绍一下新建文件夹mkdir()新建一个文件createNewFile();,删除一个文件夹或者一个文件的方法:delete();,文件过滤器FilenameFilter接口,list(),listfile()方法:在进行delete删除文件或者文件夹方法时要注意:如果一个目录不为空(存在子目录或文件),则delete()操作无效:
下面我对新建方法和删除方法举例代码
//新建指定文件名文件
public void creatfile(){
File flie6=new File("D:\\java\\name");
if(!flie6.exists()){
try {
flie6.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//删除指定文件
public void deletefile(){
File file7=new File("D:\\java\\lll.txt");
if(!file7.isDirectory()){
file7.delete();
}
}
文件过滤器:
通过调用list()方法,我们可以获得一个目录下的所有文件,但是我们如果1只需要获得特定的某一种类型的文件,比如.txt文件.java文件等,这时候我们就要用到文件过滤器。这时候我们就叫用到一个叫做FilenameFilter的接口,在我们用到这个接口时,他有一个测定指定文件是否存在在某一文件列表中的accept()方法,它的返回值是个boolean型的,存在就返回true,不存在就返回false,下面我们通过代码更深的认识一下文件过滤器;
filer=new FilenameFilter() {
public boolean accept(File dir, String name) {//dir表示被找文件所在的目录,name表示文件的名称
File file3=new File(dir,name);
if(file3.isFile()&&name.endsWith(".txt")){//判断后缀名是否为.txt文件
return true;
}else{
return false;
}
}
};
//输出所有.txt文件
File file4=new File("D:\\java\\Flie类");
String[] names=file4.list(filer);
for(String name:names){
System.out.println(name);
}
}
结果如下:
下面我们对File其他的一些方法做一个测试,熟悉一下这些方法:
直接给代码:
public void main1(){
File rr=new File("D:\\java\\流.txt");
System.out.println("文件名"+rr.getName());
System.out.println("文件大小"+rr.length());
System.out.println("文件父路径"+rr.getParent());
System.out.println("文件相对路径"+rr.getPath());
System.out.println("文件的绝对路径"+rr.getAbsolutePath());
System.out.println("文件是否存在"+rr.exists());
System.out.println("文件是否是一个文件"+rr.isFile());
System.out.println("文件是否是一个目录"+rr.isDirectory());
System.out.println("文件是否可读"+rr.canRead());
System.out.println("文件是否可写"+rr.canWrite());
Date data=new Date(rr.lastModified());
DateFormat gg=new SimpleDateFormat("hh:mm:ss");
System.out.println("文件的最后修改时间"+gg.format(data));
System.out.println(">>>>>>>>>>>>>");
}
输出结果为: