java-File基本操作:FilenameFilte…

import java.io.*;
class FileDemo
{
<wbr>public static void main(String[] args)<br><wbr>{<br><wbr><wbr>//过滤器<br><wbr><wbr>//useMySuffix();<br><wbr><wbr><br><wbr><wbr>//递归访问文件目录<br><wbr><wbr>//File dir = new File("D:\\Java\\workspace");<br><wbr><wbr>//getAllFile(dir, 0);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr>//删除目录及下边的所有文件:<br><wbr><wbr>//从里层开始一层一层倒着删除.<br><wbr><wbr>File dir = new File("D:\\Java\\workspace\\deleteTestDir");<br><wbr><wbr>removeFiles(dir);<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>public static void useMySuffix()<br><wbr>{<br><wbr><wbr>File f = new File("c:\\");</wbr></wbr></wbr></wbr>

<wbr><wbr>String suffix = ".log";<br><wbr><wbr>String [] arr = f.list(new SuffixFilter(suffix));<wbr> //使用过滤器<br><wbr><wbr>//String [] arr = f.list();<wbr> //显示所有的文件名(包含隐藏)<br><wbr><wbr><br><wbr><wbr>for (String s : arr)<br><wbr><wbr>{<br><wbr><wbr><wbr>System.out.println(s);<br><wbr><wbr>}<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>//递归获取所有的文件夹及其下边的所有文件.<br><wbr>public static void getAllFile(File dir, int level)<br><wbr>{<br><wbr><wbr>//System.out.println(getSpace(level) + dir.getName());<br><wbr><wbr>System.out.println(dir.getPath() +"\\");<br><wbr><wbr>level++;<br><wbr><wbr>File [] f = dir.listFiles();<br><wbr><wbr>for (int x = 0; x &lt; f.length; x++)<br><wbr><wbr>{<br><wbr><wbr><wbr>if (f[x].isDirectory())<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>getAllFile(f[x], level);<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr>//System.out.println(getSpace(level) + f[x].getName());<br><wbr><wbr><wbr><wbr>System.out.println(dir.getPath() +"\\" + f[x].getName());<br><wbr><wbr>}<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>public static void removeFiles(File dir)<br><wbr>{<br><wbr><wbr>if (dir.exists())<br><wbr><wbr>{<br><wbr><wbr><wbr>File [] f = dir.listFiles();<br><wbr><wbr><wbr>for (int x = 0; x &lt; f.length; x++)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>if (f[x].isDirectory())<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>removeFiles(f[x]);<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr><wbr>System.out.println(f[x].getAbsolutePath() + ":" + f[x].delete());<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>System.out.println(dir.getAbsolutePath() + ":" + dir.delete());<br><wbr><wbr>}<wbr><wbr><br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>public static String getSpace(int level)<br><wbr>{<br><wbr><wbr>StringBuilder s = new StringBuilder();<br><wbr><wbr>for (int x = 0; x &lt; level; x++)<br><wbr><wbr>{<br><wbr><wbr><wbr>s.append(" ");<br><wbr><wbr>}<br><wbr><wbr>return s.toString();<br><wbr>}<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

// 自定义一个文件后缀名过滤器
class SuffixFilter implements FilenameFilter
{
<wbr>private String suffix;<br><wbr>SuffixFilter(String suffix)<br><wbr>{<br><wbr><wbr>this.suffix = suffix;<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>public boolean accept(File dir, String name)<br><wbr>{<br><wbr><wbr>return name.endsWith(suffix);<br><wbr>}<wbr><br> }<br></wbr></wbr></wbr></wbr></wbr></wbr>

你可能感兴趣的:(java)