當前目錄下建立文件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("."); } }