File类总结

File类总结:

1.File类常用方法

2.列出指定目录下的所有文件及目录的方法

3.介绍一下FileFilter的用法

1.File类常用方法

(1).创建文件:f1.createNewFile()

(2).创建目录:f1.mkdir();

(3).创建多层目录:f3.mkdirs();

(4).判断是否是文件:f1.isFile();

(5).判断f2是否是目录:f2.isDirectory();

(6).判断f1是否是文件:f1.isFile();

(7).得到f1的名字:f1.getName()

(8).文件f1最后修改时间:f1.lastModified();

(9).判断文件f1是否存在:f1.exit();

(10).文件删除:f4.delete()

(11).列出所有文件夹中所有文件及文件夹File[] fileArr = f3.listFiles();

for(File f : fileArr){

System.out.println(f.getName());

借助下面这段代码进行说明上述方法的具体用法,里面有详细的说明这里不再赘余。

import java.io.File;
import java.io.IOException;
public class FileOpreation {
public static void main(String[] args) {
//初始化File对象,其中""中是文件路径或者文件目录,对f1的不同操作会确定其具体是目录还是文件路径,在下面将会提到
//文件路径有两种书写格式,看下面两行,下面代表的意思是d盘下的a.txt
//1.File f1 = new File("d:\\a.txt");<==>File f1 = new File("d:/a.txt");
//2.File f1 = new File("d:","a.txt");
File f1 = new File("d:\\a.txt");
File f2 = new File("d:\\test");
File f3 = new File("d:/test/test/test");
File f4 = new File("d:/b.txt");
//创建文件f1.createNewFile();这里会有IOException异常,需要try-catch语句处理异常
//创建目录f1.mkdir();
try {
f1.createNewFile();
f4.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
//创建目录,可以是创建单层目录可以是创建多层目录
//创建单层目录
f2.mkdir();
//创建多层目录
f3.mkdirs();
//判断是否是文件f1.isFile();,返回值为boolean类型,是文件返回true,不是则放回false
boolean b1 = f1.isFile();
//可以输出看看结果为true
System.out.println("b1:"+b1);
//判断是否是目录f2.isDirectory();返回值为boolean类型,是文件返回true,不是则放回false
boolean b2 = f2.isDirectory();
boolean b3 = f1.isDirectory();
System.out.println("b2:"+b2);//b2:true
System.out.println("b3:"+b3);//b3:false
//得到f1的名字
String fname = f1.getName();
System.out.println("f1:"+fname);//a.txt
//返回long类型的值,用与时间点(1970 年 1 月 1 日,00:00:00 GMT)之间的毫秒数表示;
//如果该文件不存在,或者发生 I/O 错误,则返回 0L
long ltime = f1.lastModified();
System.out.println("ltime:"+ltime);//ltime:1374906471501
//判断文件是否存在,是则返回true,不是则返回false
boolean b4 = f1.exists();
System.out.println("b4:"+b4);//b4:true
//删除文件,可以观察d盘下b.txt文件被删除了, 对于文件夹来说,只有空文件夹才能删除。
//java中的删除,跟回收站没有关系。
f4.delete();
System.out.println("*************");
//       列出一个文件夹中的所有文件及文件夹
File[] fileArr = f3.listFiles();
for(File f : fileArr){
System.out.println(f.getName());
}
}
}

2.下面给一个列出指定目录下的所有文件及目录的一段代码,这段代码只要把f.delete()方法及file.delete()方法加上,就可以完成指定目录的格式化,但是注意慎用

 

import java.io.File;
public class ListAllFile {
public static void main(String[] args) {
//初始化File
File file = new File("d:\\test");
//调用print()方法
print(file);
}
public static void print(File file){
//列出所有文件
File[] fileArr = file.listFiles();
//foreach循环,格式为for(文件类型 变量名:数组/集合)
for(File f : fileArr){
//判断是否是目录,如果是则输出目录名,调用print()方法。是递归调用,如果不是目录名则直接输出文件的名字
if(f.isDirectory()){
System.out.println(f.getName());
print(f);//  参数变化。
}else{
System.out.println(f.getName());
//如果加上下面这行,即f.delete();则会删除所有文件,所以慎重使用
//              f.delete();
}
}
//删除文件夹。对于文件夹来说,只有空文件夹才能删除。
//所以只有上面那行f.delete()方法将所有文件删除后,file.delete()才会好使;java中的删除,跟回收站没有关系。
//      file.delete();
}
}

 

3.下面用一段代码,介绍一下FileFilter的用法

 

import java.io.File;
import java.io.FileFilter;
public class TestFileFilter {
public static void main(String[] args) {
File file = new File("d:\\myjava");
// 匿名内部类+回调方式
File[] fileArr = file.listFiles(new FileFilter(){// 参考Comparable接口。
@Override
public boolean accept(File f) {
if(f.getName().endsWith(".java")){
return true;
}else{
return false;
}
}
});// 回调
for(File f : fileArr){
System.out.println(f.getName());
}
}
/*private static class MyFileFilter implements FileFilter{
@Override
public boolean accept(File f) {
if(f.getName().endsWith(".java")){
return true;
}else{
return false;
}
}
}*/
}

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(File,文件夹)