import java.util.*; import java.io.*; //需求:1.将指定目录下的java文件的绝对的路径名存入一个集合中。 //2.再将集合中的文件目录取出存入一个指定的文件中。 public class Glc { public static void main(String[] args)throws IOException { File fy = new File("D:\\Dem"); List<File> list = new ArrayList<File>(); di(fy,list); System.out.println(list.size()); File f = new File(fy,"javalist.txt"); xie(f.toString(),list); } public static void di(File fy,List<File> list) { File[] fi = fy.listFiles(); for(File fiu:fi) { if(fiu.isDirectory()) di(fiu,list); else { if(fiu.getName().endsWith(".java")) list.add(fiu); } } } public static void xie(String javalist,List<File> list)throws IOException { BufferedWriter buf = null; try { buf = new BufferedWriter(new FileWriter(javalist)); for(File f:list)//为什么这个高级for循环用的循环条件是File对象????这个函数中传入的参数不是集合对象(List<File> list)吗. //File对象不用从集合中取出就可以直接用吗??? { String s = f.getAbsolutePath(); buf.write(s); buf.newLine(); buf.flush(); } } catch(IOException e) { throw e; } finally { try { if(buf!= null) buf.close(); } catch(IOException e) { throw e; } } } } |
for(File f:list)//为什么这个高级for循环用的循环条件是File对象????这个函数中传入的参数不是集合对象(List<File> list)吗.
//File对象不用从集合中取出就可以直接用吗???
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |