A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋发吧小白 高级黑马   /  2014-11-5 11:38  /  851 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1:列出指定文件夹下的文件名称
  1. package IO流练习;
  2. /**
  3. * 把指定的文件夹下的文件全部列出,并把名称和路径打印到list.txt文件中
  4. */
  5. import java.io.*;
  6. import java.util.*;
  7. public class 列出文件列表 {
  8.         public static void main(String[] args)throws Exception {
  9.                 File dir = new File("D:\\heima");
  10.                  Collection<String> con = new ArrayList<String>();
  11.                  
  12.                 printListFileName(dir,con);
  13.         }
  14.         public static void printListFileName(File dir,Collection<String> con) throws Exception
  15.         {
  16.                
  17.                 //System.out.println(dir.getAbsolutePath());
  18.                  con.add(dir.getCanonicalPath());
  19.                 File [] files = dir.listFiles();
  20.                 for (File file : files) {
  21.                         if(file.isDirectory())
  22.                         {
  23.                                 printListFileName(file,con);
  24.                         }else
  25.                         {
  26.                                 String name = file.getAbsolutePath();
  27.                                 //System.out.println(name);
  28.                                 con.add(name);
  29.                         }
  30.                 }
  31.                 writeFile(con);
  32.         }
  33.         public static void writeFile(Collection<String> con) throws Exception
  34.         {
  35.                 BufferedWriter bw = new BufferedWriter(
  36.                                 new FileWriter("D:\\2014list.txt"));
  37.                 Iterator<String> it = con.iterator();
  38.                 while(it.hasNext())
  39.                 {
  40.                         bw.write(it.next());
  41.                         bw.flush();
  42.                         bw.newLine();
  43.                 }
  44.                 bw.close();
  45.         }
  46. }
复制代码

2:列出指定文件夹下的文件名称并过滤指定的文件
  1. package IO流练习;
  2. import java.io.*;
  3. import java.util.*;
  4. public class 列出指定文件并过滤 {
  5.         public static void main(String[] args) throws Exception{
  6.                  File dir = new File("D:\\heima");
  7.                  listFileName(dir);
  8.         }
  9.         public static void listFileName(File dir) throws Exception
  10.         {
  11.                 BufferedWriter bw = new BufferedWriter(
  12.                                 new FileWriter("D:\\2014list.txt"));
  13.                   File [] files = dir.listFiles();
  14.                   for (File file : files) {
  15.                         if(file.isDirectory())
  16.                         {
  17.                                 String [] fileName = file.list(new FilenameFilter()
  18.                                 {
  19.                                         public boolean accept(File dir, String name) {
  20.                                                 // TODO Auto-generated method stub
  21.                                                 return name.endsWith(".java");
  22.                                         }
  23.                                 });
  24.                                 for(int j = 0;j<fileName.length;j++)
  25.                                 {
  26.                                         bw.write(file.getAbsolutePath()+File.separator+fileName[j]);
  27.                                          
  28.                                         bw.newLine();
  29.                                 }
  30.                                 listFileName(file);
  31.                         }else
  32.                         {
  33.                                 bw.write(file.getAbsolutePath());
  34.                                  
  35.                                 bw.newLine();
  36.                         }
  37.                 }
  38.                   bw.close();
  39.                        
  40.                  
  41.                   
  42.         }
  43. }
复制代码



评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马