博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从文件夹A复制指定类到文件夹B
阅读量:6572 次
发布时间:2019-06-24

本文共 2295 字,大约阅读时间需要 7 分钟。

hot3.png

从TXT中获取类列表,然后从文件夹rt中复制这些类,拷贝到文件夹rt1中

类列表类似:

sun/misc/JavaSecurityAccess java/security/AccessControlContext$1 java/nio/charset/Charset$3

工具类(转载自 作者):

package com.ciotea.hosts;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;public class ReduceRt {	// 文件拷贝	public static boolean copy(String file1, String file2) {		try // must try and catch,otherwide will compile error		{			// instance the File as file_in and file_out			java.io.File file_in = new java.io.File(file1);			java.io.File file_out = new java.io.File(file2);			FileInputStream in1 = new FileInputStream(file_in);			FileOutputStream out1 = new FileOutputStream(file_out);			byte[] bytes = new byte[1024];			int c;			while ((c = in1.read(bytes)) != -1)				out1.write(bytes, 0, c);			in1.close();			out1.close();			return (true); // if success then return true		} catch (Exception e) {			System.out.println("Error!");			return (false); // if fail then return false		}	}	// 读取路径,copy	public static int dealClass(String needfile, String sdir, String odir) throws IOException {		int sn = 0; // 成功个数		File usedclass = new File(needfile);		if (usedclass.canRead()) {			String line = null;			LineNumberReader reader = new LineNumberReader(					new InputStreamReader(new FileInputStream(usedclass), "UTF-8"));			while ((line = reader.readLine()) != null) {				line = line.trim();				int dirpos = line.lastIndexOf("/");				if (dirpos > 0) {					String dir = odir + line.substring(0, dirpos);					File fdir = new File(dir);					if (!fdir.exists())						fdir.mkdirs();					String sf = sdir + line + ".class";					String of = odir + line + ".class";					boolean copy_ok = copy(sf.trim(), of.trim());					if (copy_ok)						sn++;					else {						System.out.println(line);					}				}			}		}		return sn;	}	public static void main(String[] args) {		String needfile = System.getProperty("user.dir")+"\\usedclass.txt";		String sdir = System.getProperty("user.dir")+"/rt/";		String odir = System.getProperty("user.dir")+"/rt1/";		try {			int sn = dealClass(needfile, sdir, odir);			System.out.print(sn);		} catch (IOException e) {			// TODO 自动生成 catch 块			e.printStackTrace();		}	}}

转载于:https://my.oschina.net/u/2437172/blog/706217

你可能感兴趣的文章
面对对象、变量
查看>>
spring cloud微服务分布式云架构-Spring Cloud 分布式的五大重点
查看>>
深入探索以太坊世界状态
查看>>
spring cloud构建互联网分布式微服务云平台-Spring Cloud Commons 普通抽象
查看>>
顾连康复医院咋样?
查看>>
第一章:nginx环境搭建
查看>>
开源大数据周刊-第22期
查看>>
碎片化时间有多重要
查看>>
componentDidUpdate vs componentWillReceiveProps
查看>>
Ajax到底是什么?
查看>>
Vue.js实现可配置的登录表单
查看>>
浅拷贝和深拷贝
查看>>
我的2018春招实习+秋招总结【前端开发】
查看>>
社区活动 | Apache Flink 1.9 版本即将发布,新版本有哪些新特性?
查看>>
JSCore的基本使用
查看>>
MySQL索引原理及慢查询优化,了解一下?
查看>>
Android进阶:框架打造之IOC框架
查看>>
Android:使用 Intent 连接多个活动
查看>>
git merge;fork同步集中库代码;a标签返回
查看>>
CommonLibrary——框架通用工具库
查看>>