黑马程序员技术交流社区
标题:
我的代码
[打印本页]
作者:
xiaoxinxin003
时间:
2015-7-23 14:56
标题:
我的代码
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();
}
}
}
复制代码
作者:
徐会会
时间:
2015-7-23 17:16
顶一下,,,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2