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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaoxinxin003 中级黑马   /  2015-7-23 14:56  /  353 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package codesVIP;

  2. import java.io.*;
  3. import java.util.*;
  4. /*需求:在控制台指定一个目录,将该目录下的.txt扩展名的文件复制到另一个指定的目录中,并将
  5. * 扩展名改为.java*/
  6. /**思路:
  7. * 从控制台获取到指定路径,判断合法与否,获取该路径下所有的文件列表,将符合要求的文件存放在File类型的
  8. * list集合中,遍历该集合进行复制*/
  9. public class CopyTextDemo {

  10.         public static void main(String[] args) throws Exception {
  11.                 Copy();
  12.         }

  13.         private static void Copy() throws Exception {
  14.                 while(true)
  15.                 {
  16.                         System.out.println("请输入指定目录:");
  17.                         Scanner sc = new Scanner(System.in);
  18.                         String dirIn = sc.nextLine();
  19.                         if("over".equals(dirIn))
  20.                                 System.exit(0);
  21.                         File srcDir = new File(dirIn);
  22.                         //判断输入的路径
  23.                         if(!srcDir.isDirectory())
  24.                         {
  25.                                 System.out.println("输入的路径无效,请重新输入:");
  26.                                         continue;
  27.                         }
  28.                        
  29.                         getTxtAndCopy(srcDir);
  30.                         System.out.println("end");
  31.                        
  32.                 }
  33.                
  34.         }

  35.         private static void getTxtAndCopy(File srcDir) throws Exception {
  36.                 ArrayList<File> list = new ArrayList<File>();
  37.                 //获取该目录下文件列表
  38.                 File[] files = srcDir.listFiles();
  39.                 for(int x = 0;x<files.length;x++)
  40.                 {
  41.                         if(files[x].toString().endsWith(".txt"))
  42.                         {
  43.                                 list.add(files[x]);
  44.                         }                       
  45.                 }
  46.                 //System.out.println(list.size());
  47.                 for(File file : list)
  48.                 {//对list集合进行迭代,迭代过程中复制文件。
  49.                         FileReader fr = new FileReader(file);
  50.                         //System.out.println(file.getName().toString());
  51.                         //将扩展名改为.java
  52.                         int i = file.getName().indexOf(".");
  53.                         String name = file.getName().substring(0, i);
  54.                         FileWriter fw = new FileWriter("f:\\B\\"+name+".java");
  55.                         //创建缓存区
  56.                         char[] buf = new char[1024];
  57.                         int len = 0;
  58.                         while((len = fr.read(buf))>=0)
  59.                         {
  60.                                 fw.write(buf,0,len);
  61.                                 //System.out.println(buf);
  62.                         }
  63.                         fr.close();
  64.                         fw.close();
  65.                 }
  66.                
  67.         }

  68. }
复制代码


1 个回复

倒序浏览
顶一下,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马