从jar包中读取文件
以下的Java代码实现了从一个jar包中读取指定文件的功能: 
 1
/**
2
 * This class implements the funcationality of reading and writing files in jar files.
3
 */
4
package com.leo.util;
5![]()
6
import java.io.InputStream;
7
import java.io.FileOutputStream;
8
import java.util.jar.*;
9
import java.util.Enumeration;
10![]()
11
/**
12
 * @author Leo Share
13
 * @since 08/09/2007
14
 * @version 1.0
15
 */
16![]()
17
public class JarFileAccess {
18
    private static final String fileSeparator = System.getProperty("file.separator");
19
    
20
    public void accessJarFile(String jarFileName, String fromDir, String toDir) throws Exception{
21
        JarFile myJarFile = new JarFile(fromDir+fileSeparator+jarFileName);
22
        Enumeration myEnum = myJarFile.entries();
23
        while(myEnum.hasMoreElements()){
24
            JarEntry myJarEntry = (JarEntry)myEnum.nextElement();
25
            if(myJarEntry.getName().equals("jbossall-client.jar")){
26
                InputStream is = myJarFile.getInputStream(myJarEntry);
27
                FileOutputStream fos = new FileOutputStream(toDir+fileSeparator+myJarEntry.getName());
28
                byte[] b = new byte[1024];
29
                int len;
30
                while((len = is.read(b))!= -1){
31
                    fos.write(b, 0, len);
32
                }
33
                fos.close();
34
                is.close();
35
                break;
36
            }
37
            else{
38
                continue;
39
            }
40
        }
41
        myJarFile.close();
42
    }
43
}
/**2
 * This class implements the funcationality of reading and writing files in jar files.3
 */4
package com.leo.util;5

6
import java.io.InputStream;7
import java.io.FileOutputStream;8
import java.util.jar.*;9
import java.util.Enumeration;10

11
/**12
 * @author Leo Share13
 * @since 08/09/200714
 * @version 1.015
 */16

17
public class JarFileAccess {18
    private static final String fileSeparator = System.getProperty("file.separator");19
    20
    public void accessJarFile(String jarFileName, String fromDir, String toDir) throws Exception{21
        JarFile myJarFile = new JarFile(fromDir+fileSeparator+jarFileName);22
        Enumeration myEnum = myJarFile.entries();23
        while(myEnum.hasMoreElements()){24
            JarEntry myJarEntry = (JarEntry)myEnum.nextElement();25
            if(myJarEntry.getName().equals("jbossall-client.jar")){26
                InputStream is = myJarFile.getInputStream(myJarEntry);27
                FileOutputStream fos = new FileOutputStream(toDir+fileSeparator+myJarEntry.getName());28
                byte[] b = new byte[1024];29
                int len;30
                while((len = is.read(b))!= -1){31
                    fos.write(b, 0, len);32
                }33
                fos.close();34
                is.close();35
                break;36
            }37
            else{38
                continue;39
            }40
        }41
        myJarFile.close();42
    }43
}
                    
                

    
                
            
        
浙公网安备 33010602011771号