亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jarutil.java

?? 運用java開發工具
?? JAVA
字號:
package javazip.util;

import java.util.ArrayList;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
import java.util.jar.JarInputStream;
import javazip.base.FileInfo;

/**
 * 實現jar文件壓縮和解壓縮的類
 * 
 * @author dragon
 */
public class JarUtil extends CompressUtil {

	final int BUF_SIZE = 1024 * 64;

	/**
	 * jar文件的壓縮的方法
	 * 
	 * @see javazip.util.CompressUtil#compressFile(java.util.ArrayList)
	 */
	public void compressFile(ArrayList fileList, String target) {
		File[] list = new File[fileList.size()];
		for (int i = 0; i < fileList.size(); i++) {
			list[i] = (File) fileList.get(i);
		}
		JarOutputStream jos = null;
		File file = null;
		try {
			if (list == null || list.length < 1)
				return;
			file = (File) list[0];
			if (!file.exists() || !file.canRead())
				return;

			String curPath = file.getPath().substring(0,
					file.getPath().length() - file.getName().length() - 1);
			jos = new JarOutputStream(new FileOutputStream(target)); // overwrite

			for (int i = 0; i < list.length; i++)
				if (!jarDir(jos, curPath, ((File) list[i]).toString()))
					return;
			jos.close();
			return;
		} catch (Exception e) {
			return;
		}
	}

	/**
	 *  
	 */
	public void compressFile(File list[], String target) {
		//		File [] list=new File[fileList.size()];
		//		for(int i=0;i<fileList.size();i++)
		//		{
		//			list[i]=(File)fileList.get(i);
		//		}
		JarOutputStream jos = null;
		File file = null;
		try {
			if (list == null || list.length < 1)
				return;
			file = (File) list[0];
			if (!file.exists() || !file.canRead())
				return;

			String curPath = file.getPath().substring(0,
					file.getPath().length() - file.getName().length() - 1);
			jos = new JarOutputStream(new FileOutputStream(target)); // overwrite

			for (int i = 0; i < list.length; i++)
				if (!jarDir(jos, curPath, ((File) list[i]).toString()))
					return;
			jos.close();
			return;
		} catch (Exception e) {
			return;
		}
	}

	/**
	 * 
	 * @param jos
	 * @param curPath
	 * @param srcDir
	 * @return
	 */
	private boolean jarDir(JarOutputStream jos, String curPath, String srcDir) {
		try {
			File file = new File(srcDir);
			File[] files = file.listFiles();
			if (files == null) {
				if (!file.isDirectory())
					doJar(jos, curPath, file.getPath());
			} else
				for (int i = 0; i < files.length; i++) {
					if (files[i].isDirectory()
							&& !files[i].getName().equals(".")
							&& !files[i].getName().equals(".."))
						jarDir(jos, curPath, files[i].getPath());
					else
						doJar(jos, curPath, files[i].getPath());
				}
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * 
	 * @param jos
	 * @param curPath
	 * @param fullFileName
	 * @return
	 */
	private boolean doJar(JarOutputStream jos, String curPath,
			String fullFileName) {
		try {
			File file = new File(fullFileName);
			if (!file.isDirectory()) {

				jos.putNextEntry(new ZipEntry(new String(fullFileName
						.substring(curPath.length()))));
				FileInputStream fis = new FileInputStream(file);
				int readSize = 0;
				byte[] buf = new byte[BUF_SIZE];
				while ((readSize = fis.read(buf, 0, BUF_SIZE)) > 0) {
					jos.write(buf, 0, readSize);
				}
				fis.close();
				fis = null;
			}

			jos.flush();
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	 * jar文件解壓縮的方法(還有點問題)
	 * 
	 * @see javazip.util.CompressUtil#extractFile(java.lang.String)
	 */
	public void extractFile(String source, String target) {
		/*
		 * try { FileInputStream fis = new FileInputStream(source);
		 * JarInputStream jis = new JarInputStream(fis); ZipEntry ze = null;
		 * 
		 * File file = new File(target); if (!target.endsWith("\\")) target =
		 * target.concat("\\");
		 * 
		 * if (!file.exists() && !file.mkdir()) { System.out.println("Cannot
		 * make dir."); }
		 * 
		 * FileOutputStream fos = null; byte[] buf = new byte[BUF_SIZE]; int
		 * readSize = 0; File dir = null; String dirName; while ((ze =
		 * jis.getNextJarEntry()) != null) { dirName = target + ze.getName();
		 * file = new File(target + ze.getName()); System.out.println(target +
		 * ze.getName()); dirName = dirName.substring(0, dirName.length() -
		 * file.getName().length() - 1); System.out.println(dirName); dir = new
		 * File(dirName); if (!dir.exists() && !dir.mkdirs()) {
		 * System.out.println("Cannot make dir."); return; }
		 * 
		 * if (ze.isDirectory()) { System.out.println("*** DIR ***"); if
		 * (!file.mkdir()) return; } else { file.createNewFile(); fos = new
		 * FileOutputStream(file); while ((readSize = jis.read(buf, 0,
		 * BUF_SIZE)) > 0) fos.write(buf, 0, readSize); fos.close(); } }
		 * 
		 * jis.close(); fis.close(); return; } catch (Exception e) { return; }
		 */

		JarInputStream in = null;
		BufferedOutputStream out = null;
		File targetFile = new File(target);
		int count = 0;
		try {
			in = new JarInputStream(new BufferedInputStream(
					new FileInputStream(source)));
			JarEntry jarEntry;
			while ((jarEntry = in.getNextJarEntry()) != null) {
				//debug begin{
				System.out.println("\n\njarEntry.getName()="
						+ jarEntry.getName());
				//}debug end
				String jarEntryName = jarEntry.getName();
				//將ZipEntry中的標準分割符'/'換成本機分隔符
				jarEntryName = jarEntryName.replace('/', '\\');
				if (jarEntryName.endsWith("\\")) //以'\'結尾說明是文件夾
				{
					continue;
				}
				File outputFile = new File(targetFile.getAbsolutePath() + "\\"
						+ jarEntryName.substring(jarEntryName.indexOf("\\")));
				System.out.println("outputFile.getAbsolutePath()="
						+ outputFile.getAbsolutePath());
				if (!outputFile.exists()) {
					new File(outputFile.getParent()).mkdirs();
				}
				out = new BufferedOutputStream(new FileOutputStream(outputFile));
				int data;
				while ((data = in.read()) != -1) {
					out.write(data);
				}
				out.close();
			}
			in.close();
		} catch (Exception e) {
			e.printStackTrace();
			//            JOptionPane.showMessageDialog(null,e.toString());
		}
	}

	/**
	 *  
	 */
	public Long getOriginalLength(File f) {
		long result = 0;
		try {
			ZipEntry zipEntry = null;
			JarInputStream zis = new JarInputStream(new FileInputStream(f));
			if (!f.exists()) {
				return null;
			} else {
				while ((zipEntry = zis.getNextEntry()) != null) {
					result += zipEntry.getSize();
				}
			}
		} catch (Exception e) {
			// TODO 自動生成 catch 塊
			e.printStackTrace();
		}
		return new Long(result);
	}

	/**
	 *  
	 */
	public boolean testFile(File f) {
		int count = 0;
		try {
			ZipEntry zipEntry = null;
			JarInputStream zis = new JarInputStream(new FileInputStream(f));
			if (!f.exists()) {
				return false;
			} else {
				while ((zipEntry = zis.getNextEntry()) != null) {
					count++;
				}
			}
		} catch (Exception e) {
			// TODO 自動生成 catch 塊
			e.printStackTrace();
		}
		if (count > 0)
			return true;
		else
			return false;
	}

	public static void main(String args[]) {
		JarUtil u = new JarUtil();
		System.out.println(u.testFile(new File("F:\\dt.jar")));

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品毛片乱码1区2区3区| 538prom精品视频线放| 麻豆91在线播放免费| 亚洲成人福利片| 亚洲一区二区三区自拍| 中文字幕综合网| 综合欧美一区二区三区| 亚洲欧洲在线观看av| 国产精品看片你懂得| 国产精品久久久爽爽爽麻豆色哟哟 | 成人免费av在线| 国内成+人亚洲+欧美+综合在线| 美日韩一区二区三区| 蜜桃视频在线一区| 国产露脸91国语对白| 国产精品亚洲一区二区三区妖精| 国产成人午夜精品影院观看视频 | 亚洲欧洲国产专区| 亚洲精品日韩一| 丝袜美腿亚洲色图| 伦理电影国产精品| 国产91精品精华液一区二区三区| 风间由美性色一区二区三区| 成人久久18免费网站麻豆| 91在线观看下载| 欧美日韩一区二区三区在线| 日韩区在线观看| 久久精品一二三| 亚洲三级理论片| 亚洲精品成人悠悠色影视| 亚洲福利视频一区二区| 精品一区二区成人精品| 国产999精品久久| 欧美日韩在线直播| 精品国产一区二区三区久久久蜜月| 国产日产欧美一区| 亚洲一区二区三区中文字幕 | 久久夜色精品国产噜噜av| 国产精品你懂的| 伊人夜夜躁av伊人久久| 久久99精品久久久久| 99免费精品在线观看| 555www色欧美视频| 亚洲欧洲另类国产综合| 日韩不卡手机在线v区| 国产99一区视频免费| 欧美肥妇bbw| 亚洲同性gay激情无套| 免费不卡在线观看| 91麻豆免费视频| 亚洲精品在线网站| 午夜久久久久久| 波多野结衣中文字幕一区| 91精品国产福利在线观看| 国产精品国产三级国产普通话99| 午夜视频在线观看一区二区三区 | 99re免费视频精品全部| 精品久久国产97色综合| 亚洲国产色一区| 91原创在线视频| 国产欧美1区2区3区| 久久99精品久久久久| 在线不卡中文字幕| 樱花影视一区二区| 99视频超级精品| 亚洲国产精华液网站w| 久久国产精品无码网站| 欧美人妖巨大在线| 亚洲精品乱码久久久久久| 高清在线不卡av| 国产亚洲人成网站| 精品一区二区三区欧美| 欧美一区二区三区婷婷月色| 亚洲.国产.中文慕字在线| 99精品视频一区二区三区| 国产精品日日摸夜夜摸av| 国产乱对白刺激视频不卡| 精品国产一二三| 韩国v欧美v亚洲v日本v| 亚洲精品一区二区三区在线观看| 免费在线视频一区| 欧美成人aa大片| 精品在线亚洲视频| 精品国内二区三区| 国产福利电影一区二区三区| 精品91自产拍在线观看一区| 国产综合久久久久久鬼色| 久久综合久久久久88| 国产一区二区免费视频| 日本一区二区三区dvd视频在线| 国产高清精品久久久久| 国产精品人人做人人爽人人添| 国产成人aaa| 国产精品国产三级国产专播品爱网| 成人免费视频视频在线观看免费| 亚洲欧洲精品一区二区精品久久久| jizz一区二区| 亚洲高清视频的网址| 制服丝袜av成人在线看| 蜜桃av一区二区| 久久久久久久综合色一本| 国产成人欧美日韩在线电影| 国产精品久久久久久亚洲伦| 91香蕉视频黄| 日本不卡免费在线视频| 日本一区二区电影| 欧美性大战xxxxx久久久| 青青草国产成人av片免费| 久久九九久精品国产免费直播| 成人黄色软件下载| 午夜精品久久久久久久久久久 | 国产一区在线看| 中文字幕亚洲欧美在线不卡| 欧美视频一区二区三区在线观看| 奇米色一区二区三区四区| 欧美激情自拍偷拍| 91精品在线免费| 国产suv精品一区二区883| 亚洲成人动漫在线观看| 国产女主播一区| 欧美疯狂做受xxxx富婆| av不卡免费在线观看| 免费在线看成人av| 一区二区三区四区蜜桃| 精品福利av导航| 欧美性三三影院| 成人免费看片app下载| 蜜桃一区二区三区在线观看| 一区二区视频在线| 国产精品网友自拍| 欧美一区日韩一区| 色吧成人激情小说| 韩国成人在线视频| 五月婷婷欧美视频| 亚洲精品国产一区二区三区四区在线 | 国产精品国产馆在线真实露脸 | 成人精品一区二区三区中文字幕 | 26uuu久久天堂性欧美| 欧美日韩在线播放三区四区| 福利电影一区二区| 久久国产成人午夜av影院| 亚洲一区二区欧美| 亚洲欧美日韩成人高清在线一区| 欧美tickle裸体挠脚心vk| 欧美精品tushy高清| 日本韩国欧美在线| 91同城在线观看| www.亚洲激情.com| 麻豆精品视频在线观看视频| 亚洲va欧美va天堂v国产综合| 日韩毛片在线免费观看| 中文字幕在线不卡一区| 中文字幕av一区二区三区| 国产日韩欧美制服另类| www精品美女久久久tv| 日韩欧美aaaaaa| 日韩欧美一区二区在线视频| 在线播放91灌醉迷j高跟美女| 欧美中文字幕一区| 欧美乱熟臀69xxxxxx| 欧美日韩大陆在线| 欧美精品久久99| 日韩欧美一级精品久久| 欧美精品一区二区三区久久久| 精品久久久久香蕉网| 久久亚洲精华国产精华液| 久久久99精品免费观看不卡| 精品国产乱码久久久久久久久 | 亚洲精品第一国产综合野| 亚洲欧美国产高清| 亚洲国产乱码最新视频 | 国产精品欧美一区喷水| 国产精品免费久久久久| 中文字幕日韩一区| 伊人一区二区三区| 五月婷婷欧美视频| 国产一区二区三区高清播放| 国产a精品视频| 91亚洲精品乱码久久久久久蜜桃| 91免费版pro下载短视频| 欧美日韩视频在线一区二区| 91精品免费观看| 久久久亚洲精华液精华液精华液| 国产精品入口麻豆九色| 亚洲国产日韩a在线播放| 精品在线你懂的| 91看片淫黄大片一级在线观看| 在线观看中文字幕不卡| 欧美成人a在线| 综合欧美一区二区三区| 蜜臀久久99精品久久久久宅男| 国产久卡久卡久卡久卡视频精品| 99麻豆久久久国产精品免费| 欧美精品一二三| 欧美激情一区二区在线| 天堂va蜜桃一区二区三区 | 国产精品美女一区二区| 亚洲第一成人在线| 丁香激情综合五月| 在线播放一区二区三区|