现在的位置: 首页 > 综合 > 正文

《java—-压缩流相关资料》—反正我没成功,等以后有用再来看

2013年06月27日 ⁄ 综合 ⁄ 共 3121字 ⁄ 字号 评论关闭
package com.ytu.test;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.JarURLConnection;
import java.net.URL;
import java.util.Enumeration;
import java.util.Properties;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

import com.ytu.util.PropertiesManger;
import com.ytu.view.QueryView;

public class TestMain {
	public static void main(String[] args) throws Exception {
	new QueryView();	

//		ZipOutputStream out = new ZipOutputStream(new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\aaa.jar")));
//		File flie = new File("c:/ytu.properties");
//		zip(out,flie,"xxxxxx");
		
//		zip2();
//		PropertiesManger.getSkinProperties();
	}
	
	public static void zip(ZipOutputStream out,File f,String base)throws Exception{
		if (f.isDirectory()) {
//	           File[] fl = f.listFiles();
//	           out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/"));
//	           base = base.length() == 0 ? "" : base + "/";
//	           
//	           for (int i = 0; i < fl.length; i++) {
//	        	   zip(out, fl[i], base + fl[i].getName());
//	           }
	        }else {
	           out.putNextEntry(new org.apache.tools.zip.ZipEntry(zip2()));
	           FileInputStream in = new FileInputStream(f);
	           int b;
	           System.out.println(base);
	           while ( (b = in.read()) != -1) {
	            out.write(b);
	         }
	         in.close();
	       }


	}
	public void zip3()throws Exception{

		try {
			JarFile localJarFile = new JarFile(new File("C:\\Users\\Administrator\\Desktop\\aaa.jar"));
			Enumeration<JarEntry> entries = localJarFile.entries();
			while (entries.hasMoreElements()) {
				JarEntry jarEntry = entries.nextElement();
				String entryName = jarEntry.getName();
				if (jarEntry.isDirectory()) {
					 System.out.println(entryName);
				} else if (entryName.endsWith(".properties")) {
					// 在此处找到你的txt进行处理 }
					System.out.println("xxxxxxxxxx");
					System.out.println(jarEntry);
				}
		}} catch (IOException e) {
			e.printStackTrace();
		}
		
		
		URL url;
		try {
			url = new URL("jar:file:\\C:\\Users\\Administrator\\Desktop\\aaa.jar!\\com\\ytu\\config\\ytu.properties");
			JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
	        InputStream in = jarConnection.getInputStream();//("!/META-INF/MANIFEST.MF"));
	        OutputStream out = jarConnection.getOutputStream();
	        out.write("heheh".getBytes());
	        System.out.println("xxxx");
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
		
	}
	
	public static ZipEntry zip2()throws Exception{
		File file = new File("C:\\Users\\Administrator\\Desktop\\aaa.jar");
		ZipFile zf = new ZipFile(file);  
        InputStream in = new BufferedInputStream(new FileInputStream(file));  
        ZipInputStream zin = new ZipInputStream(in); 
        
        ZipEntry ze;  
        while ((ze = zin.getNextEntry()) != null) {  
            if (ze.isDirectory()) {  
                // System.out.print("directory - " + ze.getName() + " : "   
                // + ze.getSize() + " bytes");   
                // System.out.println();   
            } else if(ze.getName().endsWith(".properties")){  
                System.err.println("file - " + ze.getName() + " : "  
                        + ze.getSize() + " bytes");  
                long size = ze.getSize(); 
                
                if (size > 0) {  
                    BufferedReader br = new BufferedReader(  
                            new InputStreamReader(zf.getInputStream(ze)));  
                    String line;  
                    while ((line = br.readLine()) != null) {  
                        System.out.println(line);  
                    }  
                    br.close();  
                }  
                System.out.println("xxx");
                
                zin.closeEntry();
                return ze;
            }  
        }  
        zin.closeEntry();  

		return null;
	}
}

抱歉!评论已关闭.