<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java Source

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      14 Posts :: 24 Stories :: 8 Comments :: 0 Trackbacks
    /*
     * FileUtil.java
     * Copyright (C) 2007-3-19  <JustinLei@gmail.com>
     *
     *        This program is free software; you can redistribute it and/or modify
     *        it under the terms of the GNU General Public License as published by
     *      the Free Software Foundation; either version 2 of the License, or
     *     (at your option) any later version.
     *
     *       This program is distributed in the hope that it will be useful,
     *      but WITHOUT ANY WARRANTY; without even the implied warranty of
     *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *        GNU General Public License for more details.
     *
     
    */
    package org.lambdasoft.utils;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.InputStream;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Properties;
    import java.util.Random;
    import java.util.Set;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    /**
     * 文件工具類
     * 
     * 
    @author TangLei <justinlei@gmail.com>
     * @date 2009-2-24
     
    */
    public class FileUtil {
        
    private static Log log = LogFactory.getLog(FileUtil.class);
        
    private FileUtil() {}
        
        
    /**
         * 獲取隨機的文件名稱
         * 
    @param seed    隨機種子
         * 
    @return
         
    */
        
    public static String getRandomFileName(String seed) {
            
    byte[] ra = new byte[100];
            
    new Random().nextBytes(ra);
            StringBuilder build 
    = new StringBuilder("");
            
    for (int i = 0; i < ra.length; i++) {
                build.append(Byte.valueOf(ra[i]).toString());
            }
            String currentDate 
    = Long.valueOf(new Date().getTime()).toString();
            seed 
    = seed + currentDate + build.toString();
            
    return EncryptUtils.getMD5ofStr(seed).toLowerCase();
        }
        
        
    /**
         * 列出所有當前層的文件和目錄
         * 
         * 
    @param dir            目錄名稱
         * 
    @return fileList    列出的文件和目錄
         
    */
        
    public static File[] ls(String dir) {
            
    return new File(dir).listFiles();
        }
        
        
    /**
         * 根據需要創建文件夾
         * 
         * 
    @param dirPath 文件夾路徑
         * 
    @param del    存在文件夾是否刪除
         
    */
        
    public static void mkdir(String dirPath,boolean del) {
            File dir 
    = new File(dirPath);
            
    if(dir.exists()) {
                
    if(del)
                    dir.delete();
                
    else return;
            }
            dir.mkdirs();
        }
        
        
    /**
         * 刪除文件和目錄
         * 
         * 
    @param path
         * 
    @throws Exception
         
    */
        
    public static void rm(String path) throws Exception{
            
    if(log.isDebugEnabled())
                log.debug(
    "需要刪除的文件: " + path);
            File file 
    = new File(path);
            
    if(!file.exists()) {
                
    if(log.isWarnEnabled())
                    log.warn(
    "文件<" + path + ">不存在");
                
    return;
            }
            
    if(file.isDirectory()) {
                File[] fileList 
    = file.listFiles();
                
    if(fileList == null || fileList.length == 0) {
                    file.delete();
                } 
    else {
                    
    for (File _file : fileList) {
                        rm(_file.getAbsolutePath());
                    }
                }
            file.delete();
            } 
    else {
                file.delete();
            }
        }
        
        
    /**
         * 移動文件
         * 
         * 
    @param source     源文件
         * 
    @param target         目標文件
         * 
    @param cache        文件緩存大小
         * 
    @throws Exception
         
    */
        
    public static void mv(String source,String target,int cache) throws Exception {
            
    if(source.trim().equals(target.trim()))
                
    return;
            
    byte[] cached = new byte[cache];
            FileInputStream fromFile 
    = new FileInputStream(source);
            FileOutputStream toFile 
    = new FileOutputStream(target);
            
    while(fromFile.read(cached) != -1) {
                toFile.write(cached);
            }
            toFile.flush();
            toFile.close();
            fromFile.close();
            
    new File(source).deleteOnExit();
        }
        
        
    /**
         * 把屬性文件轉換成Map
         * 
         * 
    @param propertiesFile
         * 
    @return
         * 
    @throws Exception
         
    */
        
    public static final Map<String, String> getPropertiesMap(String propertiesFile) throws Exception{
            Properties properties 
    = new Properties();
            FileInputStream inputStream 
    = new FileInputStream(propertiesFile);
            properties.load(inputStream);
            Map
    <String, String> map = new HashMap<String, String>();
            Set
    <Object> keySet = properties.keySet();
            
    for (Object key : keySet) {
                map.put((String)key, properties.getProperty((String)key));
            }
            
    return map;
        }
        
        @SuppressWarnings(
    "unchecked")
        
    public static final Map<String, String> getPropertiesMap(Class clazz,String fileName) throws Exception{
            Properties properties 
    = new Properties();
            InputStream inputStream 
    = clazz.getResourceAsStream(fileName);
            
    if(inputStream == null)
                inputStream 
    = clazz.getClassLoader().getResourceAsStream(fileName);
            properties.load(inputStream);
            Map
    <String, String> map = new HashMap<String, String>();
            Set
    <Object> keySet = properties.keySet();
            
    for (Object key : keySet) {
                map.put((String)key, properties.getProperty((String)key));
            }
            
    return map;
        }
        
        
    /**
         * 把屬性文件轉換成Map
         * 
         * 
    @param inputStream
         * 
    @return
         * 
    @throws Exception
         
    */
        
    public static final Map<String, String> getPropertiesMap(InputStream inputStream) throws Exception{
            Properties properties 
    = new Properties();
            properties.load(inputStream);
            Map
    <String, String> map = new HashMap<String, String>();
            Set
    <Object> keySet = properties.keySet();
            
    for (Object key : keySet) {
                map.put((String)key, properties.getProperty((String)key));
            }
            
    return map;
        }
        
        
    /**
         * 把文本文件轉換成String
         * 
         * 
    @param fullPath
         * 
    @return
         * 
    @throws Exception
         
    */
        
    public static String readFile(String fullPath) throws Exception{
            BufferedReader reader 
    = new BufferedReader(new FileReader(fullPath));
            
    if(reader == null)
                
    return null;
            StringBuilder builder 
    = new StringBuilder("");
            String line 
    = null;
            
    while((line = reader.readLine()) != null) {
                builder.append(line 
    + "\n");
            }
            
    return builder.toString();
        }
        
        
    /**
         * 獲取資源文件流
         * 
         * 
    @param clazz
         * 
    @param name
         * 
    @return
         
    */
        @SuppressWarnings(
    "unchecked")
        
    public static InputStream getResourceAsStream(Class clazz,String name) {
            
    try {
                InputStream inputStream 
    = clazz.getResourceAsStream(name);
                
    if(inputStream == null
                    inputStream 
    = clazz.getClassLoader().getResourceAsStream(name);
                
    return inputStream;
            } 
    catch (Exception e) {
                
    if(log.isWarnEnabled())
                    log.warn(
    "獲取資源文件失敗", e);
                
    return null;
            }
        }
    }
    posted on 2009-12-18 16:40 JustinLei 閱讀(2320) 評論(1)  編輯  收藏

    Feedback

    # re: 文件工具類FileUtil 2009-12-19 11:09 marten
    Good  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 九九美女网站免费| 一级一看免费完整版毛片| 免费看又黄又无码的网站| 中文字幕亚洲激情| 黄色网页在线免费观看| 亚洲综合色自拍一区| 热久久这里是精品6免费观看| 久久久久久亚洲精品不卡| 亚洲av成人中文无码专区| 免费大香伊蕉在人线国产 | 亚洲电影在线播放| 18女人水真多免费高清毛片| 亚洲特级aaaaaa毛片| 国产精品成人免费一区二区| 亚洲中文无码永久免| 国产91在线免费| 黄色网页在线免费观看| 亚洲综合日韩中文字幕v在线| 最近免费中文字幕大全免费| 亚洲卡一卡二卡乱码新区| 男女交性永久免费视频播放| 深夜免费在线视频| 亚洲成A人片在线观看WWW| 国产va精品免费观看| 国产亚洲综合一区二区三区| 亚洲精品无码专区在线在线播放 | 91在线亚洲综合在线| 国产免费爽爽视频免费可以看| 人体大胆做受免费视频| 91嫩草私人成人亚洲影院| 在线观看人成网站深夜免费| 一本久久免费视频| 亚洲综合图片小说区热久久| 青青青国产免费一夜七次郎 | 亚洲无人区码一二三码区别图片| 免费v片在线观看无遮挡| 久久免费观看国产99精品| 亚洲日本在线电影| 亚洲国产成人精品无码区在线观看| 黄在线观看www免费看| 污网站免费在线观看|