学java这么久了,前些时间也写过java记事本程序,虽然没有用到文件夹下文件的遍历,但现在想想还是真的很有用哦.所以,闲时也写了出来供大家分享
原理:(1)充分得用File类的File(File parent, String child) ,File(String pathname)构造器;(2)读取第一个父类下的文件,并判断是否为文件(parentF.isFile()),若不是则继续使用File对象进行迭代;(3)迭代原理,并用集合类(List)将是文件的文件存取读出;(4)完成读取操作.
package FileTest;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class FileView{
private List nameList = new ArrayList();
public void getSubFile(String parent)
{
File parentF = new File(parent);
if(parentF.isFile())
{
nameList.add(parent);
return;
}
String[] subFiles = parentF.list();
for (int i = 0; i < subFiles.length; i++)
{
getSubFile(parentF.getAbsolutePath() + System.getProperty("file.separator") + subFiles);
}
}
public List getNameList()
{
return nameList;
}
public static void main(String[] args)
{
String dirName = "E:/javaText/String";
File srcDir = new File(dirName);
if(!srcDir.exists())
{
System.out.println("Dir not exists!");
return;
}
FileView x = new FileView();
x.getSubFile(dirName);
for (Iterator iter = x.getNameList().iterator(); iter.hasNext();)
{
String element = (String) iter.next();
System.out.println(element);
}
}
}