1. package com.io.File; import java.io.*; import java.util.Date; public class UseFile { /** * 一些File的用法 * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File dir1=new File("D:\dir1"); if(! dir1.exists()){ dir1.mkdir(); } File dir2=new File(dir1,"dir2"); if(! dir2.exists()){ dir2.mkdirs(); } File dir4=new File(dir1,"dir3\dir4"); if(!dir4.exists()){ dir4.mkdirs(); } File file=new File(dir2,"text.txt"); if(!file.exists()){ file.createNewFile(); } listDir(dir1); deleteDir(dir1); } //查看目录的信息 public static void listDir(File dir){ File[] lists=dir.listFiles(); //打印当前目录下包含所有子目录和文件的名字 String info="目录:"+dir.getName()+"("; for(int i=0;i<lists.length;i++){ info+=lists[i].getName()+" "; } info+=")"; System.out.println(info); //打印当前目录下的所有的子目录和文件的详细信息 for(int i=0;i<lists.length;i++){ File f=lists[i]; if(f.isFile()){ System.out.println("文件: "+f.getName() +" canRead:"+f.canRead()+" lastModified:"+new Date(f.lastModified())); }else{ listDir(f); } } } public static void deleteDir(File file){ //如果file代表文件 就会删除 if(file.isFile()){ file.delete(); return; } //如果是文件目录,就先删除目录下的所有子目录和文件 File[] lists=file.listFiles(); for(int i=0;i<lists.length;i++){ deleteDir(lists[i]); //递归删除当前目录下的所有子目录的文件 } //最后删除当前目录 file.delete(); } } 2. package com.io.File; import java.io.*; public class UserFileNameFilter { /**获得某个路径下的 .txt 文件 * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File dir1=new File("c:/"); FilenameFilter filter=new FilenameFilter() { public boolean accept(File dir, String name) { // TODO Auto-generated method stub System.out.println("根路径: "+dir.getPath()+" 子路径:"+name); File currFile=new File(dir,name); if(currFile.isFile() && name.indexOf(".txt")!=-1){ return true; } else{ return true; } } }; String[] lists=new File("C:/").list(filter); for(String list : lists){ System.out.println(list); } } }