- package codesVIP;
- import java.io.*;
- import java.util.*;
- /*需求:在控制台指定一个目录,将该目录下的.txt扩展名的文件复制到另一个指定的目录中,并将
- * 扩展名改为.java*/
- /**思路:
- * 从控制台获取到指定路径,判断合法与否,获取该路径下所有的文件列表,将符合要求的文件存放在File类型的
- * list集合中,遍历该集合进行复制*/
- public class CopyTextDemo {
- public static void main(String[] args) throws Exception {
- Copy();
- }
- private static void Copy() throws Exception {
- while(true)
- {
- System.out.println("请输入指定目录:");
- Scanner sc = new Scanner(System.in);
- String dirIn = sc.nextLine();
- if("over".equals(dirIn))
- System.exit(0);
- File srcDir = new File(dirIn);
- //判断输入的路径
- if(!srcDir.isDirectory())
- {
- System.out.println("输入的路径无效,请重新输入:");
- continue;
- }
-
- getTxtAndCopy(srcDir);
- System.out.println("end");
-
- }
-
- }
- private static void getTxtAndCopy(File srcDir) throws Exception {
- ArrayList<File> list = new ArrayList<File>();
- //获取该目录下文件列表
- File[] files = srcDir.listFiles();
- for(int x = 0;x<files.length;x++)
- {
- if(files[x].toString().endsWith(".txt"))
- {
- list.add(files[x]);
- }
- }
- //System.out.println(list.size());
- for(File file : list)
- {//对list集合进行迭代,迭代过程中复制文件。
- FileReader fr = new FileReader(file);
- //System.out.println(file.getName().toString());
- //将扩展名改为.java
- int i = file.getName().indexOf(".");
- String name = file.getName().substring(0, i);
- FileWriter fw = new FileWriter("f:\\B\\"+name+".java");
- //创建缓存区
- char[] buf = new char[1024];
- int len = 0;
- while((len = fr.read(buf))>=0)
- {
- fw.write(buf,0,len);
- //System.out.println(buf);
- }
- fr.close();
- fw.close();
- }
-
- }
- }
复制代码
|
|