编程二

来源:互联网 发布:海信电视tv软件 编辑:程序博客网 时间:2024/06/05 02:20

题目:编写程序,将F:\Java 目录下的所有.java文件复制到 F:\Jad目录下,并将原来文件的扩展名从.java改为 .jad.

package com.test2;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FilenameFilter;import java.io.InputStream;import java.io.OutputStream;/* *  * 编写程序,将F:\Java 目录下的所有.java文件复制到 F:\Jad目录下,并将原来文件的扩展名从.java改为 .jad. * */public class Jad2Java {    public static void main(String[] args) throws Exception {        /* 1、得到目录下的所有的java文件集合 */        File srcDir = new File("f://Java"); // 得到文件目录        if (!(srcDir.exists() && srcDir.isDirectory())) { // 判断文件是否存在            throw new Exception("目录不存在");        }        File[] files = srcDir.listFiles( // 得到目录下的所有.java文件                new FilenameFilter() {                    @Override                    public boolean accept(File dir, String name) { // 只想得到.java的文件                        // TODO Auto-generated method stub                        return name.endsWith(".java");                    }                });        System.out.println(files.length);        /* 2、将每个文件复制到指定的另一个目录中,并改扩展名 */        File destDir = new File("f://Jad"); // 得到目录文件,如果目标文件不存在,则创建        if (!(destDir.exists())) {            destDir.mkdir();        }        // 根据源文件名得到目标文件名,注意正则表达式的使用,注意.的转义        for (File f : files) {            FileInputStream fis = new FileInputStream(f);            String destFileName = f.getName().replace("\\.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 {        // TODO Auto-generated method stub        int len = 0;        byte[] buf = new byte[1024];        while ((len = ips.read(buf)) != -1) {            ops.write(buf, 0, len);        }    }}
0 0
原创粉丝点击