• 大小: 0M
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: 其他
  • 标签: 其他  

资源简介

IO.rar

资源截图

代码片段和文件信息


package fileJar;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;

public class FileJar {
/**
 * TODO(压缩jar包)
 * 
 * @param folderUrl
 *            被压缩文件夹路径
 * @param jarUrl
 *            生成jar 的文件路径
 * @throws FileNotFoundException
 * @throws IOException void
 * @author Administrator
 */
public  void createJar(String folderUrl String jarUrl) throws FileNotFoundException
IOException {
//
List ret = getFilesList(new File(folderUrl));
JarOutputStream jots = new JarOutputStream(new FileOutputStream(jarUrl));

JarEntry je = new JarEntry(““);
byte[] buf = new byte[1024];   
int readLen = 0;
for (int i = 0; i < ret.size(); i++) {
File file = (File) ret.get(i);

je = new JarEntry(getAbsFileName(folderUrl file));
je.setSize(file.length());
je.setTime(file.lastModified());

jots.putNextEntry(je);

InputStream is = new BufferedInputStream(new FileInputStream(file));
while ((readLen = is.read(buf 0 1024)) != -1) {  
jots.write(buf 0 readLen);  
}
is.close();
}
jots.close();
}

/**
 * TODO  解压jar包
 * 
 * @param folderUrl
 *            解压后放入的文件夹
 * @param jarUrl
 *            解压的jar包
 * @throws FileNotFoundException
 * @throws IOException void
 * @author Administrator
 */
public  void readJar(String folderUrl String jarUrl) throws FileNotFoundException
IOException {

JarFile jarFile = new JarFile(jarUrl);
System.out.println(jarFile.getName());
Enumeration entity = jarFile.entries();
ZipEntry ze = null;
byte[] buf = new byte[1024];
while (entity.hasMoreElements()) {
ze = (ZipEntry) entity.nextElement();
if (ze.isDirectory()) {
continue;
}
OutputStream os = new BufferedOutputStream(new FileOutputStream(getRealFileName(
folderUrl ze.getName())));
InputStream is = new BufferedInputStream(jarFile.getInputStream(ze));
int readLen = 0;
while ((readLen = is.read(buf 0 1024)) != -1) {
os.write(buf 0 readLen);
}
is.close();
os.close();
}
jarFile.close();
}
/**
 * TODO  删除jar 
 * @param url
 * @return boolean
 * @author Administrator 
 */
public  boolean removeJar(String url) {
boolean vali = false;
File delFile = new File(url);
if (delFile.exists()&&delFile.isDirectory()) {
if(delFile.listFiles().length==0){//
delFile.delete();
}
else{
File[] fileNum = delFile.listFiles();
int num = fileNum.length;
for(int i =0 ;i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4732  2011-08-17 16:07  IO\FileJar.java

     文件       3050  2011-08-11 18:59  IO\Map_RadmonAccessFile.java

     文件       2721  2011-08-15 09:19  IO\ReadFile.java

     目录          0  2011-08-17 16:09  IO

----------- ---------  ---------- -----  ----

                10503                    4


评论

共有 条评论