<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 閱讀(2312) 評論(1)  編輯  收藏

    Feedback

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


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品国产精品乱码不卞| 四虎影院在线免费播放| 国产亚洲AV无码AV男人的天堂| 日韩成人精品日本亚洲| 成人a免费α片在线视频网站 | 毛片免费在线观看网址| 久久久久se色偷偷亚洲精品av| 中文字幕无码播放免费| 亚洲精品天堂在线观看| 好大好硬好爽免费视频| 免费福利在线观看| 久久久久亚洲?V成人无码| a级毛片免费播放| 亚洲综合国产精品| 永久免费av无码网站韩国毛片 | 日本中文一区二区三区亚洲 | 日本视频在线观看永久免费| 久久久无码精品亚洲日韩蜜桃| 久久99精品视免费看| 亚洲精品视频免费看| 成年人网站在线免费观看| 亚洲精华国产精华精华液网站| 四虎影视永久免费观看| aaa毛片视频免费观看| 亚洲精品永久www忘忧草| 暖暖免费高清日本一区二区三区| 国产偷国产偷亚洲高清人| 亚洲精品无码成人片久久| 中文字幕亚洲免费无线观看日本| 日韩亚洲不卡在线视频中文字幕在线观看 | 亚洲伊人成无码综合网 | 一级毛片免费在线播放| 亚洲成色WWW久久网站| 91网站免费观看| 色噜噜噜噜亚洲第一| 亚洲AV中文无码乱人伦下载| 无码一区二区三区免费视频| 一区二区三区精品高清视频免费在线播放| 国产成A人亚洲精V品无码| 国产精品美女午夜爽爽爽免费| 一区二区免费在线观看|