本帖最后由 郭振 于 2012-5-12 19:40 编辑
//下边代码中,用高级for循环与迭代器都能得到list集合中的元素,那它们有什么区别,如果高级for能得到集合的元素,为什么还要集合还要用迭代器呢?
import java.io.*;
import java.util.*;
public class FileDigui {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File dir=new File("F:\\javawork");
List<File>list=new ArrayList<File>();
fun(dir,list);
System.out.println(list.size());
fun2(list);
}
public static void fun(File dir,List<File>l)
{
File[] fs=dir.listFiles();
for(File f:fs)
{
if(f.isDirectory())
{
fun(f,l);
}
else{
if(f.getName().endsWith(".java"));
l.add(f);
}
}
}
public static void fun2(List<File> list) throws IOException
{
BufferedWriter bw=new BufferedWriter(new FileWriter("e:\\sbx.txt"));
Iterator<File>it= list.iterator();
while(it.hasNext())
{
File f=it.next();
String s=f.getAbsolutePath();
bw.write(s);
bw.newLine();
bw.flush();
}
/*for(File f:list)
{
String s= f.getAbsolutePath();
bw.write(s);
bw.newLine();
bw.flush();
}
bw.close();*/
}
}
|
|