本帖最后由 刘汉文 于 2013-12-29 10:55 编辑
9、 编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
package com.itheima;
import java.io.*;
import java.util.ArrayList;
public class Test_9
{
public static void main(String[] args) throws Exception
{
File from=new File("f:\\music\\test");
File to=new File("f:\\test1");
if(!to.exists())
to.mkdir();
ArrayList<File> al=new ArrayList<File>();
getFile(from, al);
BufferedInputStream bufi=null;
BufferedOutputStream bufo=null;
for(File file:al)
{
bufi=new BufferedInputStream(new FileInputStream(file));//输入流
String s=file.toString().substring(file.toString().lastIndexOf("\\")).replace(".java",".txt");//获取文件名并进行后缀名的修改
bufo=new BufferedOutputStream(new FileOutputStream(new File(to,s)));//输出流
byte[] buf=new byte[1024*1024];
int len=0;
while((len=bufi.read(buf))!=-1)
{
bufo.write(buf, 0, len);
bufo.flush();
}
bufi.close();
bufo.close();
}
}
public static void getFile(File from,ArrayList<File> al)//递归函数,获取所有.java的File.
{
File[] files=from.listFiles();
for(File file:files)
{
if(file.isDirectory())
getFile(file,al);
else
{
if(file.toString().endsWith(".java"))
al.add(file);
}
}
}
}
|