本帖最后由 神之梦 于 2013-6-27 15:21 编辑
- /*
- * 编写一个程序,将f:\java目录下的所有.java文件复制到g:\jad目录下,并将原来文件的扩展名从.java改为.jad.
- * */
- import java.io.*;
- public class Java2Jad {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception{
- // TODO Auto-generated method stub
-
- //创建file文件对象,用于操作文件
- File srcDir = new File("f:\\java");
-
- //判断该目录是否存在,是否是目录
- if(!(srcDir.exists() && srcDir.isDirectory())){
- throw new Exception("文件不存在");
- }else{
- //该路径是目录且存在,列出该目录下的文件,并传递一个文件过滤器来过滤出.java文件
- File[] files = srcDir.listFiles(
-
- //创建匿名内部类(FilenameFilter接口的实现类),并复写其中的方法,找出后缀名为.java的文件
- new FilenameFilter(){
- public boolean accept(File dir,String name){
- return name.endsWith(".java");
- }
- }
- );
-
- System.out.println(files.length);
-
- //创建file对象,关联文件
- File destDir = new File("g:\\jad");
-
- //判断该目录是否存在,若不存在,创建
- if(!(destDir.exists())){
- destDir.mkdir();
- }else{
- //若存在,遍历该目录
- for(File f : files){
-
- FileInputStream fis = new FileInputStream(f);
-
- //将.java文件改为.jad文件
- String destFileName = f.getName().replaceAll("\\.java[ DISCUZ_CODE_0 ]quot;, ".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{
-
- byte[] buf = new byte[1024];
- int len = 0;
- while((len=ips.read(buf))!=-1){
- ops.write(buf, 0, len);
-
- }
- }
- }
复制代码 如果该目录下只有一个.java文件,复制到g盘后,g盘中为空,这时什么原因呀?
|