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

从源码包中抽取java资料(保持包路径)

2012-09-09 
从源码包中抽取java文件(保持包路径)package com.yangxiutianimport java.io.BufferedReaderimport java

从源码包中抽取java文件(保持包路径)

package com.yangxiutian;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.ArrayList;import java.util.List;public class PackageUtil{    public static void copyFile(String tarPath, File srcPath)            throws IOException    {        File tarPathFile = new File(tarPath);//目标虚拟路径        File tarFile;//目标文件        if (!tarPathFile.exists())        {            tarPathFile.mkdirs();            tarFile = new File(tarPath + srcPath.getName());            tarFile.createNewFile();            InputStream is = new FileInputStream(srcPath);            OutputStream os = new FileOutputStream(tarFile);            byte[] buff = new byte[1024];            int reads = 0;            while ((reads = is.read(buff)) != -1)            {                os.write(buff, 0, reads);            }            os.close();            is.close();        }    }        /**     *  遍历java文件     */    public static void listAllFile(File root, List<File> allFiles)    {        File[] files = root.listFiles();        for (File temp : files)        {            if (temp.isDirectory())            {//是目录,递归调用                listAllFile(temp, allFiles);            }            else            {                if (temp.getName().endsWith(".java"))                {                    allFiles.add(temp);                }            }                    }    }        public static void main(String[] args) throws IOException    {        String basePath = "C:\\Documents and Settings\\Administrator\\桌面\\package\";        String path;//路径,不包含基路径        String srcPath = "C:\\Documents and Settings\\Administrator\\My Documents\\Downloads\\axiom-1.2.11-source-release\\axiom-1.2.11\";        File root = new File(srcPath);//        List<File> list = new ArrayList<File>();        listAllFile(root, list);        for (File temp : list)        {            BufferedReader br = new BufferedReader(new FileReader(temp));            while (true)            {//取出package信息                String line = br.readLine();                if (line.contains("package "))                {                    path = line.replace("package ", "").replace(".", "/")//路径org/apache/axiom/testutils/io/ 前面不带后面带                             .replace(";", "/");                    copyFile(basePath + path, temp);//复制文件                    System.out.println(basePath + path);                    break;                }            }        }        System.out.println(list.size() + "个java文件");    }}
?

热点排行