黑马程序员技术交流社区
标题:
练习-编写程序,将指定目录下所有.java文件拷贝到另一个...
[打印本页]
作者:
安安安
时间:
2015-6-17 00:13
标题:
练习-编写程序,将指定目录下所有.java文件拷贝到另一个...
import java.io.*;
import java.util.ArrayList;
/**
* 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
*/
public class Test9
{
public static void main(String[] args)
{
File target=new File("E:\\java\\exam");
File txt=new File("E:\\java\\exam\\txt");
dirJava(target);
for(File f:al)
{
String name=txt.toString()+"\\"+f.getName();//获取输出的文件名字
name=name.replace(".java", ".txt");//把java换成txt
java2txt(f,name);//copy .java文件
System.out.println(name);
}
}
static ArrayList<File> al=new ArrayList<File>();//文件集合
public static void java2txt(File java,String txt)
{
BufferedReader bufr=null;
BufferedWriter bufw=null;
try
{
bufr=new BufferedReader(new FileReader(java));
bufw=new BufferedWriter(new FileWriter(txt));
String line=null;
while((line=bufr.readLine())!=null)
{
bufw.write(line);
bufw.newLine();
bufw.flush();
}
}
catch (IOException e)
{
throw new RuntimeException("copy失败");
}
finally
{
if(bufr!=null)
{
try
{
bufr.close();
}
catch(IOException e1)
{
throw new RuntimeException("读取流失败");
}
}
if(bufw!=null)
{
try
{
bufw.close();
}
catch(IOException e2)
{
throw new RuntimeException("写入流失败");
}
}
}
}
public static void dirJava(File file)
{
// System.out.println(file);
File[] files=file.listFiles();//获取目录下所有文件
for(File f:files)
{
if(f.isDirectory()) //递归,如果是目录重新调用函数
dirJava(f);
else
{
if(f.toString().endsWith(".java"))
al.add(f);
// System.out.println(f);
}
}
}
}
复制代码
之前基础测试做的题。我总觉的写的很别扭。
有没有好的写法分享下
作者:
hieiyukina
时间:
2015-6-17 07:39
学习一下 谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2