我通过jarOutputStream调用API实现,但是貌似改变了,这个jar文件却没有同了 下面是我的部分代码:大家看看,希望有好的实现方法教教我,急 private static void toJarFile(JarFile jarFile, JarOutputStream outjos, File readyFile) throws IOException {
File[] files = readyFile.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
JarEntry entry =
new JarEntry(files[i].getPath().substring(files[i].getPath().indexOf(".tarena")+8+File.separator); outjos.putNextEntry(entry);
toJarFile(files[i], outjos);
}else{
System.out.println("文件");
JarEntry entry =
new JarEntry(files[i].getPath().substring(files[i].getPath().indexOf(".tarena")+8)); outjos.putNextEntry(entry);
BufferedReader brin = new BufferedReader(
new InputStreamReader(new FileInputStream(files[i])));
String _line=null;
while((_line=brin.readLine())!=null){
byte[] bts = _line.getBytes();
outjos.write(bts, 0, bts.length); //将exam每行的内容写入到当前的entry中
}
}
//关闭这个entry
outjos.closeEntry();
}
}
File[] files = readyFile.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
JarEntry entry =
new JarEntry(files[i].getPath().substring(files[i].getPath().indexOf(".tarena")+8+File.separator); outjos.putNextEntry(entry);
toJarFile(files[i], outjos);
}else{
System.out.println("文件");
JarEntry entry =
new JarEntry(files[i].getPath().substring(files[i].getPath().indexOf(".tarena")+8)); outjos.putNextEntry(entry);
BufferedReader brin = new BufferedReader(
new InputStreamReader(new FileInputStream(files[i])));
String _line=null;
while((_line=brin.readLine())!=null){
byte[] bts = _line.getBytes();
outjos.write(bts, 0, bts.length); //将exam每行的内容写入到当前的entry中
}
}
//关闭这个entry
outjos.closeEntry();
}
}
解决方案 »
- 怎样定义校验这个字符串的正则表达式?
- 用java编写一个关于局域网内文件备份的程式 ( 本人接触JAVA 刚一段时间 )
- 打印目录
- ?????由字符串得到数组下标的问题?急急急急急急急急急急急急急急急急急急?????
- 编译子类时,父类应该放在哪里?
- 小弟想学java,请GGJJDDMM告诉应该用什么软件!
- 如果写一个可以实现多线程的ftp,是不是必须从socket写
- 关于jar的问题
- 如何设置JToolTip显示为多行?
- 计算1/1600,精确到小数点后50位,看看错在哪了
- 启动Tomcat出错011-4-21 10:00:21 org.apache.catalina.startup.HostConfig deployWAR
- java多个线程做不同的工作
http://download.csdn.net/source/2882395
将JAR包解压然后修该文件!但是最初是考虑到系统每次启动都会解压jar会覆盖前面写入的数据
所以才想直接写到jar包里面的,现在处理了下 可以解压,但让他不能改动我修改过的文件 呵呵