IO流-文件实例
1.删除E:/jiazhong 目录,如果目录中存在内容依然删除
- 源码
package 文件File;import java.io.File;public class DeleteDirectory {public static void main(String[] args) {File file=new File("E:/jiazhong");delDirectory(file);}/*** 删除文件或目录* @param file 文件对象*/public static void delDirectory(File file){if (file == null){throw new NullPointerException("文件或目录不存在");}//检测是文件还是目录if (file.isFile()){//获得文件的绝对路径String filePath=file.getAbsolutePath();boolean boo = file.delete();System.out.println(boo?filePath+"文件删除成功":filePath+"文件删除失败");}else if (file.isDirectory()){//如果是目录//获得file目录的所有子文件File[] subfiles=file.listFiles();if (subfiles!=null || subfiles.length!=0){//循环遍历所有子文件for (File subFile:subfiles){//递归调用delDirectory(subFile);}if (file.listFiles().length==0){String filePath=file.getAbsolutePath();//file对应目录没有子文件,删除FIle目录boolean isDelete=file.delete();System.out.println(isDelete?filePath+":删除成功":filePath+"删除失败");}}else {String filePath=file.getAbsolutePath();//file对应目录没有子文件,删除FIle目录boolean isDelete=file.delete();System.out.println(isDelete?filePath+":删除成功":filePath+"删除失败");}}} }
2.遍历某个目录中的所有内容,包含子目录中的内容,在控制台上显示每个文件的绝对路径
- 源码
package 文件File;import java.io.File;public class ShowFileList {public static void main(String[] args) {File file=new File("E:\\学习笔记");showFileList(file);}public static void showFileList(File file){if (file==null){throw new NullPointerException("文件不存在.....");}if (file.isFile()){String filePath = file.getAbsolutePath();System.out.println(filePath);}else if (file.isDirectory()){File[] subFiles=file.listFiles();for (File subFile:subFiles){showFileList(subFile);}}} }
3. 显示E:盘下的所有word文件
- 源码
package 文件File;import java.io.File;public class ShowFileList1 {public static void main(String[] args) {File file=new File("E:");showFileList(file);}public static void showFileList(File file){if (file==null){throw new NullPointerException("文件不存在.....");}if (file.isFile()){String filePath = file.getAbsolutePath();if (filePath.endsWith(".doc") || filePath.endsWith(".docx") || filePath.endsWith("DOC") || filePath.endsWith("DOCX")){System.out.println(filePath);}}else if (file.isDirectory()){File[] subFiles=file.listFiles();if (subFiles!=null && subFiles.length!=0){for (File subFile:subFiles){showFileList(subFile);}}}} }
package 文件File;import java.io.File; import java.io.FilenameFilter;public class FileFilterDemo {public static void main(String[] args) {File file=new File("E:\\HTML结课测试试卷");//遍历目录中的所有子文件,并设置文件名过滤条件,将符合条件的文件获得File[] subFiles=file.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {if (name.endsWith(".doc") || name.endsWith(".docx")){return true;}return false;}});for (File subFile:subFiles){System.out.println(subFile.getAbsoluteFile());}} }
4. 遍历磁盘中的所有文件,并将文件输出(全盘扫描)
- 源码
package 文件File;import java.io.File;public class ScannDisk {public static void main(String[] args) {File[] files = File.listRoots();for (File root:files){showFileList(root);}//File file=new File("E:");}public static void showFileList(File file){if (file==null){throw new NullPointerException("文件不存在.....");}if (file.isFile()){String filePath = file.getAbsolutePath();System.out.println(filePath);}else if (file.isDirectory()){File[] subFiles=file.listFiles();if (subFiles!=null && subFiles.length!=0){for (File subFile:subFiles){showFileList(subFile);}}}} }