有一个.jar文件,其中包含了一些类。有一个List.只有在这个类名在这个list里边的类,我才需要。
现在我要把这个.jar文件中的 类名在这个list里边的打成一个另外一个jar包。
如何读取copy.谢谢
现在我要把这个.jar文件中的 类名在这个list里边的打成一个另外一个jar包。
如何读取copy.谢谢
解决方案 »
- 关于eclipse 中windowbuilder如果配置
- RandomAccessFile 类出问题了
- 抽象类与接口的区别
- HashMap中怎么取得所有的键值对啊?
- sql语句问题,大虾帮忙
- 求各种对文件操作方法的框架!急~~~~~~~~
- 在SWING做的画面上, 能不能同时表示中国语简体字和中國語繁體字
- HttpURLConnection的disconnect()方法?
- NetBeans Java编辑器使用Courier New字体时,为什么不能正确显示中文?
- 有關JTextField與JTable之間的關鍵字查詢.
- 做个调查,大家平时开发桌面程序主要swing还是swt
- 做个调查,有时间的帮忙填个表,谢谢各位了!
人家里面的东西 你只要把他jar包里你需要的源代码提取出来,打成jar就可以了!
1、有这个jar包的源码的话,直接把需要的类打包进你的jar就行了
2、没有源码的话,那么你要打包的jar包又用到的别的jar包,你可以在你打包的jar文件内MANIFEST.MF文件内引用别的jar包
*
*/
package houlei.util;import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;/**
* 首先,Jar文件的格式就是Zip文件的格式;
* 其次,本代码中没有处理关于META-INF下面的文件。
* <p/>
* 该类创建于 2009-6-12 上午09:11:45
* @version 1.0.0
* @author 侯磊
*/
public class ZipFileOperation {
public static void main(String[] args) throws IOException {
String srcFileName = "d:\\annotations-api.jar";
String desFileName = "d:\\mylib.jar";
Collection<String> fileNames = getTheList();
operation(srcFileName, desFileName, fileNames);
} public static void operation(String srcFileName,String destFileName,Collection<String> fileNames) throws IOException{
ZipFile srcFile = new ZipFile(srcFileName);
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(destFileName,false));
byte [] buff = new byte[1024];
for(String name : fileNames){
String eName = name.replaceAll("\\.", "/")+".class";
ZipEntry entry = srcFile.getEntry(eName);
zos.putNextEntry(entry);
InputStream is = srcFile.getInputStream(entry);
int len = 0;
while((len=is.read(buff))!=-1){
zos.write(buff, 0, len);
zos.flush();
}
zos.closeEntry();
}
zos.close();
}
private static List<String> getTheList() {
List<String> list = new java.util.ArrayList<String>();
list.add("javax.xml.ws.WebServiceRef");
list.add("javax.xml.ws.WebServiceRefs");
return list;
}}
*
*/
package houlei.util;import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;/**
* 首先,Jar文件的格式就是Zip文件的格式;
* 其次,本代码中没有处理关于META-INF下面的文件。
* <p/>
* 该类创建于 2009-6-12 上午09:11:45
* @version 1.0.0
* @author 侯磊
*/
public class ZipFileOperation {
public static void main(String[] args) throws IOException {
String srcFileName = "d:\\annotations-api.jar";
String desFileName = "d:\\mylib.jar";
Collection<String> fileNames = getTheList();
operation(srcFileName, desFileName, fileNames);
} public static void operation(String srcFileName,String destFileName,Collection<String> fileNames) throws IOException{
ZipFile srcFile = new ZipFile(srcFileName);
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(destFileName,false));
byte [] buff = new byte[1024];
for(String name : fileNames){
String eName = name.replaceAll("\\.", "/")+".class";
ZipEntry entry = srcFile.getEntry(eName);
zos.putNextEntry(entry);
InputStream is = srcFile.getInputStream(entry);
int len = 0;
while((len=is.read(buff))!=-1){
zos.write(buff, 0, len);
zos.flush();
}
zos.closeEntry();
}
zos.close();
}
private static List<String> getTheList() {
List<String> list = new java.util.ArrayList<String>();
list.add("javax.xml.ws.WebServiceRef");
list.add("javax.xml.ws.WebServiceRefs");
return list;
}}