File类提供了一些方法来操作文件和获取文件信息。对于目录,java把它当成一种特殊类型的文件,及文件名目录。
File类直接处理文件和文件系统,通过File类的方法,可以得到文件目录或者文件目录的描述,包括文件名、文件路径、长度等。
1、构造方法
File(String path);
File (String dir,String filename)
File (File dir,String filename)
File (URL url)
其中,dir是文件所在目录,filename是文件名,path是文件的路径。
例如:
File f1=new File("D:/java");
File f2=new File("D:/java", "sh.txt");
File f3=new File(f1, "sh.txt");
File f4=new File("file://D:/java/sh.txt");
2、File类提供的方法
File类定义了很多获取File属性的方法。例如getName()、exists()等。下面通过一个具体的例子介绍File类的用法。
public class TestFile {
public static void main(String[] args) {
File f1 = new File("G:/java");
File f2 = new File("G:/java/shao.txt");
//创建单层目录。如果多层目录用mkdirs()
f1.mkdir();
//创建文件
try {
f2.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//getName()返回目录名/文件名
System.out.println("目录名:"+f1.getName());
System.out.println("文件名"+f2.getName());
//exists()判断文件是否存在,存在返回true,不存在返回false
System.out.println("是否存在:"+f1.exists());
//getPath()获取文件路径
System.out.println("路径:"+f2.getPath());
//isDirectory()/isDirectory()判断是否是目录/文件,是返回true,否则返回false
System.out.println("是否是目录:"+f1.isDirectory());
System.out.println("是都是文件:"+f2.isDirectory());
System.out.println("………………………………目录操作………………………………");
//listFiles()方法列出目录中所有文件。放在一个文件数组中接收。
File[] fileArr = f1.listFiles();
for (File file : fileArr) {
//打印所有文件
System.out.println(file);
/*//输出以.java结尾的文件名
if (file.getName().endsWith(".java")) {
System.out.println(file);
}*/
}
//通过匿名内部类的方式定义过滤器。筛选文件
File[] fileArr1 =f1.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
if (file.getName().endsWith(".java")) {
return true;
}else {
return false;
}
}
});
for (File file : fileArr1) {
System.out.println(file.getName());
}
}
}
运行结果:
目录名:java
文件名shao.txt
是否存在:true
路径:G:\java\shao.txt
是否是目录:true
是都是文件:false
………………………………目录操作………………………………
G:\java\sh.java
G:\java\shao.java
G:\java\shao.txt
sh.java
shao.java
转载于:https://blog.51cto.com/shaotao/1258339