首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

面试题之——将文件夹下java资料写入到新的文件夹,并修改扩展名

2013-09-18 
面试题之——将文件夹下java文件写入到新的文件夹,并修改扩展名题目:将d:/code/java文件夹下的所有.java文件

面试题之——将文件夹下java文件写入到新的文件夹,并修改扩展名

题目:将d:/code/java文件夹下的所有.java文件复制到d:/code/java/jad文件夹下并且将原来的文件的扩展名.java改为.jad

源代码:

package com.zyh.interview;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FilenameFilter;import java.io.InputStream;import java.io.OutputStream;/** * 将d:/code/java文件夹下的所有.java文件复制到d:/code/java/jad文件夹下 * 并且将原来的文件的扩展名.java改为.jad * @author zyh * */public class Java2Jad_q112 {    public static void main(String[] args) throws Exception {        /*第一步:获取文件目录*/        File dir = new File("d:/code/java");        if(!(dir.exists()&&dir.isDirectory())) {            throw new Exception("目录" + dir.getAbsolutePath() + "不存在");        }        /*第二步:列出该目录下所有的.java文件*/        File[] files = dir.listFiles(new FilenameFilter() {            //获取.java文件时使用listFiles(FilenameFilter filter)方法,创建一个过滤文件名的Filter            @Override            public boolean accept(File dir, String name) {                if(name != null && "".equals("")) {                    //检测文件名是否是以.java结尾,是返回true,否则继续检测下一个文件                    if(name.toLowerCase().endsWith(".java")) {                        return true;                    }                }                return false;            }        });        /*第三步:获取目标文件夹,如果不存在就建立该文件夹*/        File destDir = new File("d:/code/java/jad");        if(!destDir.exists()) {            destDir.mkdir();        }        for(File file : files) {            System.out.println(file.getName());            FileInputStream fis = new FileInputStream(file);            /*第四步:将得到的文件名称的扩展名改为.jad*/            String destFileName = file.getName().replaceAll("\\.java$", "\\.jad");            FileOutputStream fos = new FileOutputStream(new File(destDir, destFileName));            /*第五步:将文件重新写入目标文件夹*/            copy(fis, fos);            fis.close();            fos.close();        }    }        public static void copy(InputStream in, OutputStream out) throws Exception {        byte[] buf = new byte[1024];        int len = 0;        /*读取文件内容并写入文件字节流中*/        while((len = in.read(buf))!=-1) {            out.write(buf, 0, len);        }    }}


热点排行