过滤符合相应后缀的文件,符合条件的文件就存储他的绝对路径,并且最后返回....
可以写歌曲播放器的时候添加音乐文件。。
import java.io.File;
import java.util.ArrayList;
public class ErgodicFile
{
ArrayList<String> filePaths = null;
File file;
public ErgodicFile(File file)
{
this.file = file;
filePaths = new ArrayList<String>();
}
/**
* 遍历文件
* @param file
*/
public void ergodic(File file)
{
if(file.exists())
{
if(file.isDirectory())
{
File[] files = file.listFiles();
if(files!=null)
{
for(File f:files)
{
ergodic(f);
}
}
}
else if(file.isFile())
{
if(filterFile(".txt", file.getName()))
{
filePaths.add(file.getAbsolutePath());
}
}
}
else
{
return;
}
}
/**
* @param suffix 文件后缀
* @param fileName 文件名
* @return 文件名后缀是suffix 返回true 否则返回false
*/
public boolean filterFile(String suffix,String fileName)
{
if(fileName.endsWith(suffix))
{
return true;
}
else
{
return false;
}
}
public static void main(String[] args)
{
// 所要遍历的路径 我这里是E:\123
ErgodicFile ef = new ErgodicFile(new File("E:\\123"));
ef.ergodic(ef.file);
for(String filePath:ef.filePaths)
{
System.out.println(filePath);
}
System.out.println("~~~~~~~~"+ef.filePaths.size());
}
}
我这个程序里 文件路径全部存在内存中,如果遍历的文件相当大的话,会占据很大的内存..... 所以上面的程序仅供参考, 其实也可以往文件里写.........