当前目录下建立文件createNewFile()或目录mkdir();删除文件和目录(用到递归) delete();建立多级目录 mkdirs();获取目录中的子项 File[] subs = dir.listFiles(); 文件过滤器筛选文件 File[] subs = dir.listFiles(filter);。java
import java.io.File;spa
import java.io.FileFilter; .net
import java.io.IOException;
/**
* File相关
* @author Romanceling
*
*/
public class FileTest {
public static void main(String[] args) throws IOException {
/*
*
/*
* boolean exists()
* 判断File表示的文件或目录是否真实存在
*/
if(!file.exists()){
//建立该文件
file.createNewFile();
System.out.println("建立完毕!");
}对象
/*
* 删除test.txt文件
*/
if(file.exists()){
file.delete();
System.out.println("删除完毕!");
} 递归
/*
* 在当前目录下建立一个目录(路径)demo
*/get
File dir = new File("demo");
if(!dir.exists()){
//建立一个目录
dir.mkdir();
System.out.println("建立完毕!");
}it
//删除一个目录io
if(dir.exists()){
/*
* 使用delete删除目录时,必须保证该
* 目录是一个空目录(不含有任何子项)
* 才能够将其删除.
*/
dir.delete();
System.out.println("删除完毕!");
}class
/**删除多级目录
* 删除给定的File对象表示的文件或目录
* 此时须要用到递归
*/
* public static void delete(File file){
* if(file.isDirectory()){ //若是是目录
* //先删除该目录中全部内容
* File[] subs = file.listFiles();
* for(File sub : subs){
* delete(sub); //递归test
* }
* file.delete(); //文件或者空的目录能够直接删除
* }
*/
/*
* 在当前目录下建立一个多级目录:
* a/b/c/d/e/f
*/
File dir = new File(
"a"+File.separator+ //File.separator 表明"/"(Linux系统中) 或"\"(Windows系统中)
"b"+File.separator+
"c"+File.separator+
"d"+File.separator+
"e"+File.separator+
"f"
);
if(!dir.exists()){
/*
* mkdirs在建立当前目录的同时会将
* 其全部不存在的父目录一同建立出来
*/
dir.mkdirs();
System.out.println("建立完毕!");
}
/*
* 获取当前目录中的全部内容
*/
File dir = new File(".");
//获取一个目录中的全部子项
File[] subs = dir.listFiles();
for(File sub : subs){
if(sub.isFile()){
System.out.print("文件:");
}else{
System.out.print("目录:");
}
System.out.println(sub.getName());
}
/*
* 配合过滤器(自定义类MyFilter),获取当前目录下全部名字以"."开头的子项
*/
File dir = new File(".");
MyFilter filter = new MyFilter();
/*
* 重载的listFiles方法返回的子项是知足给定
* 过滤器要求的子项,其余则被忽略
*/
File[] subs = dir.listFiles(filter);
for(File sub : subs){
System.out.println(sub.getName());
}
/*也能够用匿名内部类的方式简写文件过滤器(FileFilter)
* File dir = new File(".");
* FileFilter filter = new FileFilter(){
* public boolean accept(File file){
* return file.isFile();
* }
* };
* File[] subs = dir.listFiles(filter);
*/
}
}
/**
* 使用文件过滤器(FileFilter)获取一个目录中知足条件的子项
*
*/
class MyFilter implements FileFilter{ /** * 过滤条件:名字是以"."开头的 */ public boolean accept(File file) { String name = file.getName(); System.out.println("正在过滤:"+name); return name.startsWith("."); } }