- <p>/*</p><p>题目:将一个指定目录下的java文件的绝对路径,存储到一个shuoming.txt中,建立一个java文件列表文件。</p><p>思路:1,对指定的目录进行递归。(当我把目录直接写为 D: 时有错误,改为 D:\\JAVA 时无错误)
- 2,获取递归过程所以的java文件的路径。
- 3,将这些路径存储到集合中。
- 4,将集合中的数据写入到一个文件中。</p><p>注:我的D盘里只有D:\\JAVA 中有.java文件 分别在day01到day20文件夹中</p><p>当我把目录直接写为 D: 时 shuoming.txt中只有 day20文件夹中的.java文件,</p><p> 改为 D:\\JAVA 时所有文件都有。</p><p>*/</p><p>//求大神解释一下啊</p><p>
- </p><p>import java.io.*;
- import java.util.*;
- class JavaFileList
- {
- public static void main(String[] args)throws IOException
- {
- File f=new File("D:");
- List<File> list=new ArrayList<File>();
- fileToList(f,list);
- File shuoming=new File("D:\\JAVA","shuoming.txt");
- sop(shuoming.createNewFile());
- writeToTxt(list,shuoming);
-
- }
- public static void fileToList(File dir,List<File> list)
- {
- File[] name=dir.listFiles();
- for(File file : name)
- {
- if(file.isDirectory())
- fileToList(file,list);
- else
- {
- if(file.getName().endsWith(".java"))
- list.add(file);
- }
- }
- }
- public static void writeToTxt(List<File> list,File shuoming)
- {
- BufferedWriter buw=null;
- try
- {
- buw=new BufferedWriter(new FileWriter(shuoming));
- for(File f:list)
- {
- String s=f.getAbsolutePath();
- buw.write(s);
- buw.newLine();
- buw.flush();
- }
-
- }
- catch(IOException e)
- {
- sop("写入失败");
- }
- finally
- {
- try
- {
- if(buw!=null)
- buw.close();
- }
- catch(IOException e1)
- {
- sop("关闭资源失败");
-
- }
- }
- }
- public static void sop(Object o)
- {
- System.out.println(o);
- }
- }</p>
复制代码
|
|