文档章节

从文件夹A复制指定类到文件夹B

周田
 周田
发布于 2016/07/05 10:51
字数 316
阅读 20
收藏 1

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

类列表类似:

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

工具类(转载自http://blog.csdn.net/lw001x/article/details/7745685 作者):

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();
		}
	}
}

© 著作权归作者所有

周田
粉丝 4
博文 122
码字总数 22818
作品 0
德阳
私信 提问
linux 查找文件并复制的办法

现在有这样的需求: 1.在A文件夹查找指定时间内有修改的文件。 2.复制A文件夹有修改的文件到文件夹B并且创建对应的目录 现在可以实现的是能查找指定时间内有修改的文件,可以记录对应的目录。...

往事白云边
2012/08/21
2.3K
8
OutputStream-InputStream-FileOutputStream-FileInputStream-BufferedOutputStream-BufferedInputStream

一.OutputStream 类(java.io) 概述:OutputStream类就是专门用于从程序中将数据写入到介质中; 定义:public abstract class OutputStream extends Object implements Closeable, Flushable Ou......

老胡2015
2017/06/22
0
0
Mapreduce多条数据去重处理

课程原地址:http://hbust.shiyanbar.com/course/91079 上课老师:李歆 实验时间:20180524 地点:云桌面 实验人:郭畅 【实验目的】 1) 理解mapreduce执行原理 2) 理解map,reduce阶段 3) 熟...

qq_40276310
2018/05/24
0
0
Linux下Redis的安装和部署

Linux下Redis的安装和部署 一、Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更...

Gjanuary
2017/03/14
0
0
花无涯:如何将视频下载并且转码拼接

简单来说每个视频网站,每个视频网站都会有自己的视频播放格式。具体事例为优酷KUX,爱奇艺QSV,腾讯QLV。而腾讯视频目前还没有具备转码功能,所以视频下载的时候经常会出现一些困扰,那就是...

花无涯
2018/03/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

android 事件分发

记录下对Android事件分发的理解: 如果a作为viewgroup,b作为view,b包含在a中。事件会先传递到viewgroup中,既a。然后a会进行事件分发给子view。事件分发的方法中,会有个判断,是否要分发给...

醉雨
18分钟前
0
0
今天的学习

今天学到了 get和post传参: Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示 Post传输的数据量大,理论上是无限大,而Get方法由于受到URL长度的限制,只能传递大约1024字节 ...

墨冥
24分钟前
0
0
输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

public class Solution { private ArrayList<ArrayList<Integer>> listAll = new ArrayList<ArrayList<Integer>>(); ArrayList<ArrayList<Integer>> all= new ArrayList<ArrayList<Integer>>......

南桥北木
26分钟前
1
0
使用lombok编写优雅的Bean对象

使用java编写代码,十之八九都是在写java类,从而构建java对象。lombok之前也说了不少,但使用了这么多年,感觉还是有很多技巧可以使用的。 毫无疑问,使用lombok,编写的java代码很优雅,而...

polly
27分钟前
0
0
表现与数据分离、web语义化的理解

表现与数据分离 什么是表现与数据分离? “分离”说的是两方面: 第一方面是前端与后台分离,所有数据都是后台通过AJAX发送给前端,前端处理数据展现页面,不需要后台在页面中插入变量。 第二...

祖达
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部