设置环境变量,解压到相应位置

来源:互联网 发布:广州花都区怎么样 知乎 编辑:程序博客网 时间:2024/05/16 11:08
String path =  System.getenv("CLASS_HOME");    if(path==null || "".equals(path)){    System.out.println("设置环境变量CLASS_HOME,设置安装路径");    ZipUtil.upzipFile("./ma3.0.zip",path);    return ;    }    System.out.println("安装路径:"+path);    ZipUtil.upzipFile("./ma3.0.zip",path);        }

找了一下午这个方法   其实可以自动传参、被自己鄙视了 弄了一下午还写了个方法。不过确实学到了不少,知道解决了



为了拿掉这个文件   用环境变量。。。。。。


import java.io.BufferedInputStream;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.Map;import java.util.Properties;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipFile;import org.apache.tools.zip.ZipOutputStream;import com.sun.xml.internal.ws.util.StringUtils;/** * 压缩或解压zip: * 由于直接使用java.util.zip工具包下的类,会出现中文乱码问题,所以使用ant.jar中的org.apache.tools.zip下的工具类 * @author Administrator */public class ZipUtil {    private static byte[] _byte = new byte[1024] ;    /**     * 压缩文件或路径     * @param zip 压缩的目的地址     * @param srcFiles 压缩的源文件     */    public static void zipFile( String zip , List<File> srcFiles ){        try {            if( zip.endsWith(".zip") || zip.endsWith(".ZIP") ){                ZipOutputStream _zipOut = new ZipOutputStream(new FileOutputStream(new File(zip))) ;                _zipOut.setEncoding("GBK");                for( File _f : srcFiles ){                    handlerFile(zip , _zipOut , _f , "");                }                _zipOut.close();            }else{                System.out.println("target file[" + zip + "] is not .zip type file");            }        } catch (FileNotFoundException e) {        } catch (IOException e) {        }    }        /**     *      * @param zip 压缩的目的地址     * @param zipOut      * @param srcFile  被压缩的文件信息     * @param path  在zip中的相对路径     * @throws IOException     */    private static void handlerFile(String zip , ZipOutputStream zipOut , File srcFile , String path ) throws IOException{        System.out.println(" begin to compression file[" + srcFile.getName() + "]");        if( !"".equals(path) && ! path.endsWith(File.separator)){            path += File.separator ;        }        if( ! srcFile.getPath().equals(zip) ){            if( srcFile.isDirectory() ){                File[] _files = srcFile.listFiles() ;                if( _files.length == 0 ){                    zipOut.putNextEntry(new ZipEntry( path + srcFile.getName() + File.separator));                    zipOut.closeEntry();                }else{                    for( File _f : _files ){                        handlerFile( zip ,zipOut , _f , path + srcFile.getName() );                    }                }            }else{                InputStream _in = new FileInputStream(srcFile) ;                zipOut.putNextEntry(new ZipEntry(path + srcFile.getName()));                int len = 0 ;                 while( (len = _in.read(_byte)) > 0  ){                    zipOut.write(_byte, 0, len);                }                _in.close();                zipOut.closeEntry();            }        }    }    /**     * 解压缩ZIP文件,将ZIP文件里的内容解压到targetDIR目录下     * @param zipName 待解压缩的ZIP文件名     * @param targetBaseDirName  目标目录     */    public static List<File> upzipFile(String zipPath, String descDir) {        return upzipFile( new File(zipPath) , descDir ) ;    }        /**     * 对.zip文件进行解压缩     * @param zipFile  解压缩文件     * @param descDir  压缩的目标地址,如:D:\\测试 或 /mnt/d/测试     * @return     */    @SuppressWarnings("rawtypes")    public static List<File> upzipFile(File zipFile, String descDir) {        List<File> _list = new ArrayList<File>() ;        try {            ZipFile _zipFile = new ZipFile(zipFile , "GBK") ;            for( Enumeration entries = _zipFile.getEntries() ; entries.hasMoreElements() ; ){                ZipEntry entry = (ZipEntry)entries.nextElement() ;                File _file = new File(descDir + File.separator + entry.getName()) ;                if( entry.isDirectory() ){                    _file.mkdirs() ;                }else{                    File _parent = _file.getParentFile() ;                    if( !_parent.exists() ){                        _parent.mkdirs() ;                    }                    InputStream _in = _zipFile.getInputStream(entry);                    OutputStream _out = new FileOutputStream(_file) ;                    int len = 0 ;                    while( (len = _in.read(_byte)) > 0){                        _out.write(_byte, 0, len);                    }                    _in.close();                     _out.flush();                    _out.close();                    _list.add(_file) ;                }            }        } catch (IOException e) {        }        return _list ;    }        /**     * 对临时生成的文件夹和文件夹下的文件进行删除     */    public static void deletefile(String delpath) {        try {            File file = new File(delpath);            if (!file.isDirectory()) {                file.delete();            } else if (file.isDirectory()) {                String[] filelist = file.list();                for (int i = 0; i < filelist.length; i++) {                    File delfile = new File(delpath + File.separator + filelist[i]);                    if (!delfile.isDirectory()) {                        delfile.delete();                    } else if (delfile.isDirectory()) {                        deletefile(delpath + File.separator + filelist[i]);                    }                }                file.delete();            }        } catch (Exception e) {            e.printStackTrace();        }    }        public static void main(String[] args) {               ///加载属    String path =  System.getenv("CLASS_HOME");    if(path==null || "".equals(path)){    System.out.println("设置环境变量CLASS_HOME,设置安装路径");    ZipUtil.upzipFile("./ma3.0.zip",path);    return ;    }    System.out.println("安装路径:"+path);    ZipUtil.upzipFile("./ma3.0.zip",path);        }   }


0 0
原创粉丝点击