import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FilenameFilter;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;


//编写一个程序,将 d:\java目录下的所有.java文件复制到

//d:\jad目录下,并将原来文件的扩展名从.java改为.jad。

public class CopyFile {

public static void main(String[] args) throws Exception {

// 在D盘找到java文件夹

File srcDir = new File("D:\\java");

if (!(srcDir.exists() && srcDir.isDirectory()))

throw new Exception("目录不存在");

// 列出java文件夹下的所有以.java结尾的文件

File[] files = srcDir.listFiles(new FilenameFilter() {

public boolean accept(File dir, String name) {

return name.endsWith(".java");

}

});

System.out.println(files.length);

// 判断jad目录是否存在,不存在创建目录

File destDir = new File("d:\\jad");

if (!destDir.exists())

destDir.mkdir();

// 把.java文件变成.jad文件

for (File f : files) {

FileInputStream fis = new FileInputStream(f);

String destFileName = f.getName().replaceAll("\\.java$", ".jad");

FileOutputStream fos = new FileOutputStream(new File(destDir,

destFileName));

copy(fis, fos);

fis.close();

fos.close();

}

}


private static void copy(InputStream ips, OutputStream ops)

throws Exception {

int len = 0;

byte[] buf = new byte[1024];

while ((len = ips.read(buf)) != -1) {

ops.write(buf, 0, len);

}

}

}