亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java文件操作工具類分享(file文件工具類)

2019-11-26 15:43:20
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
import java.util.StringTokenizer;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

/**
 *
 * @author IBM
 *
 */

public class FileUtil {

 public static String dirSplit = "http://";//linux windows
 /**
  * save file accroding to physical directory infomation
  *
  * @param physicalDir
  *            physical directory
  * @param fname
  *            file name of destination
  * @param istream
  *            input stream of destination file
  * @return
  */

 public static boolean SaveFileByPhysicalDir(String physicalPath,
   InputStream istream) {

  boolean flag = false;
  try {
   OutputStream os = new FileOutputStream(physicalPath);
   int readBytes = 0;
   byte buffer[] = new byte[8192];
   while ((readBytes = istream.read(buffer, 0, 8192)) != -1) {
    os.write(buffer, 0, readBytes);
   }
   os.close();
   flag = true;
  } catch (FileNotFoundException e) {

   e.printStackTrace();
  } catch (IOException e) {

   e.printStackTrace();
  }
  return flag;
 }

 public static boolean CreateDirectory(String dir){
  File f = new File(dir);
  if (!f.exists()) {
   f.mkdirs();
  }
  return true;
 }

 
 public static void saveAsFileOutputStream(String physicalPath,String content) {
    File file = new File(physicalPath);
    boolean b = file.getParentFile().isDirectory();
    if(!b){
     File tem = new File(file.getParent());
     // tem.getParentFile().setWritable(true);
     tem.mkdirs();// 創建目錄
    }
    //Log.info(file.getParent()+";"+file.getParentFile().isDirectory());
    FileOutputStream foutput =null;
    try {
     foutput = new FileOutputStream(physicalPath);

     foutput.write(content.getBytes("UTF-8"));
     //foutput.write(content.getBytes());
    }catch(IOException ex) {
     ex.printStackTrace();
     throw new RuntimeException(ex);
    }finally{
     try {
      foutput.flush();
      foutput.close();
     }catch(IOException ex){
      ex.printStackTrace();
      throw new RuntimeException(ex);
     }
    }
     //Log.info("文件保存成功:"+ physicalPath);
   }



  /**
     * COPY文件
     * @param srcFile String
     * @param desFile String
     * @return boolean
     */
    public boolean copyToFile(String srcFile, String desFile) {
        File scrfile = new File(srcFile);
        if (scrfile.isFile() == true) {
            int length;
            FileInputStream fis = null;
            try {
                fis = new FileInputStream(scrfile);
            }
            catch (FileNotFoundException ex) {
                ex.printStackTrace();
            }
            File desfile = new File(desFile);

            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(desfile, false);
            }
            catch (FileNotFoundException ex) {
                ex.printStackTrace();
            }
            desfile = null;
            length = (int) scrfile.length();
            byte[] b = new byte[length];
            try {
                fis.read(b);
                fis.close();
                fos.write(b);
                fos.close();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            scrfile = null;
            return false;
        }
        scrfile = null;
        return true;
    }

    /**
     * COPY文件夾
     * @param sourceDir String
     * @param destDir String
     * @return boolean
     */
    public boolean copyDir(String sourceDir, String destDir) {
        File sourceFile = new File(sourceDir);
        String tempSource;
        String tempDest;
        String fileName;
        File[] files = sourceFile.listFiles();
        for (int i = 0; i < files.length; i++) {
            fileName = files[i].getName();
            tempSource = sourceDir + "/" + fileName;
            tempDest = destDir + "/" + fileName;
            if (files[i].isFile()) {
                copyToFile(tempSource, tempDest);
            } else {
                copyDir(tempSource, tempDest);
            }
        }
        sourceFile = null;
        return true;
    }

    /**
     * 刪除指定目錄及其中的所有內容。
     * @param dir 要刪除的目錄
     * @return 刪除成功時返回true,否則返回false。
     */
    public boolean deleteDirectory(File dir) {
        File[] entries = dir.listFiles();
        int sz = entries.length;
        for (int i = 0; i < sz; i++) {
            if (entries[i].isDirectory()) {
                if (!deleteDirectory(entries[i])) {
                    return false;
                }
            } else {
                if (!entries[i].delete()) {
                    return false;
                }
            }
        }
        if (!dir.delete()) {
            return false;
        }
        return true;
    }

   

    /**
     * File exist check
     *
     * @param sFileName File Name
     * @return boolean true - exist<br>
     *                 false - not exist
     */
    public static boolean checkExist(String sFileName) {

     boolean result = false;

       try {
        File f = new File(sFileName);

        //if (f.exists() && f.isFile() && f.canRead()) {
    if (f.exists() && f.isFile()) {
      result = true;
    } else {
      result = false;
    }
    } catch (Exception e) {
         result = false;
    }

        /* return */
        return result;
    }

    /**
     * Get File Size
     *
     * @param sFileName File Name
     * @return long File's size(byte) when File not exist return -1
     */
    public static long getSize(String sFileName) {

        long lSize = 0;

        try {
      File f = new File(sFileName);

              //exist
      if (f.exists()) {
       if (f.isFile() && f.canRead()) {
        lSize = f.length();
       } else {
        lSize = -1;
       }
              //not exist
      } else {
          lSize = 0;
      }
    } catch (Exception e) {
         lSize = -1;
    }
    /* return */
    return lSize;
    }

 /**
  * File Delete
  *
  * @param sFileName File Nmae
  * @return boolean true - Delete Success<br>
  *                 false - Delete Fail
  */
    public static boolean deleteFromName(String sFileName) {

        boolean bReturn = true;

        try {
            File oFile = new File(sFileName);

           //exist
           if (oFile.exists()) {
            //Delete File
            boolean bResult = oFile.delete();
            //Delete Fail
            if (bResult == false) {
                bReturn = false;
            }

            //not exist
           } else {

           }

   } catch (Exception e) {
    bReturn = false;
   }

   //return
   return bReturn;
    }

 /**
  * File Unzip
  *
  * @param sToPath  Unzip Directory path
  * @param sZipFile Unzip File Name
  */
 @SuppressWarnings("rawtypes")
public static void releaseZip(String sToPath, String sZipFile) throws Exception {

  if (null == sToPath ||("").equals(sToPath.trim())) {
    File objZipFile = new File(sZipFile);
    sToPath = objZipFile.getParent();
  }
  ZipFile zfile = new ZipFile(sZipFile);
  Enumeration zList = zfile.entries();
  ZipEntry ze = null;
  byte[] buf = new byte[1024];
  while (zList.hasMoreElements()) {

    ze = (ZipEntry) zList.nextElement();
    if (ze.isDirectory()) {
     continue;
    }

    OutputStream os =
    new BufferedOutputStream(
    new FileOutputStream(getRealFileName(sToPath, ze.getName())));
    InputStream is = new BufferedInputStream(zfile.getInputStream(ze));
    int readLen = 0;
    while ((readLen = is.read(buf, 0, 1024)) != -1) {
     os.write(buf, 0, readLen);
    }
    is.close();
    os.close();
  }
  zfile.close();
 }

 /**
  * getRealFileName
  *
  * @param  baseDir   Root Directory
  * @param  absFileName  absolute Directory File Name
  * @return java.io.File     Return file
  */
 @SuppressWarnings({ "rawtypes", "unchecked" })
private static File getRealFileName(String baseDir, String absFileName) throws Exception {

  File ret = null;

  List dirs = new ArrayList();
  StringTokenizer st = new StringTokenizer(absFileName, System.getProperty("file.separator"));
  while (st.hasMoreTokens()) {
   dirs.add(st.nextToken());
  }

  ret = new File(baseDir);
  if (dirs.size() > 1) {
   for (int i = 0; i < dirs.size() - 1; i++) {
    ret = new File(ret, (String) dirs.get(i));
   }
  }
  if (!ret.exists()) {
   ret.mkdirs();
  }
  ret = new File(ret, (String) dirs.get(dirs.size() - 1));
  return ret;
 }

 /**
  * copyFile
  *
  * @param  srcFile   Source File
  * @param  targetFile   Target file
  */
 @SuppressWarnings("resource")
 static public void copyFile(String srcFile , String targetFile) throws IOException
  {

   FileInputStream reader = new FileInputStream(srcFile);
   FileOutputStream writer = new FileOutputStream(targetFile);

   byte[] buffer = new byte [4096];
   int len;

   try
   {
    reader = new FileInputStream(srcFile);
    writer = new FileOutputStream(targetFile);

    while((len = reader.read(buffer)) > 0)
    {
     writer.write(buffer , 0 , len);
    }
   }
   catch(IOException e)
   {
    throw e;
   }
   finally
   {
    if (writer != null)writer.close();
    if (reader != null)reader.close();
   }
  }

 /**
  * renameFile
  *
  * @param  srcFile   Source File
  * @param  targetFile   Target file
  */
 static public void renameFile(String srcFile , String targetFile) throws IOException
  {
   try {
    copyFile(srcFile,targetFile);
    deleteFromName(srcFile);
   } catch(IOException e){
    throw e;
   }
  }


 public static void write(String tivoliMsg,String logFileName) {
  try{
    byte[]  bMsg = tivoliMsg.getBytes();
    FileOutputStream fOut = new FileOutputStream(logFileName, true);
    fOut.write(bMsg);
    fOut.close();
  } catch(IOException e){
   //throw the exception     
  }

 }
 /**
 * This method is used to log the messages with timestamp,error code and the method details
 * @param errorCd String
 * @param className String
 * @param methodName String
 * @param msg String
 */
 public static void writeLog(String logFile, String batchId, String exceptionInfo) {

  DateFormat df = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.JAPANESE);

  Object args[] = {df.format(new Date()), batchId, exceptionInfo};

  String fmtMsg = MessageFormat.format("{0} : {1} : {2}", args);

  try {

   File logfile = new File(logFile);
   if(!logfile.exists()) {
    logfile.createNewFile();
   }

      FileWriter fw = new FileWriter(logFile, true);
      fw.write(fmtMsg);
      fw.write(System.getProperty("line.separator"));

      fw.flush();
      fw.close();

  } catch(Exception e) {
  }
 }

 public static String readTextFile(String realPath) throws Exception {
  File file = new File(realPath);
   if (!file.exists()){
    System.out.println("File not exist!");
    return null;
   }
   BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(realPath),"UTF-8"));  
   String temp = "";
   String txt="";
   while((temp = br.readLine()) != null){
    txt+=temp;
    }  
   br.close();
  return txt;
 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人一区二区在线| 成人激情电影一区二区| 国产精品美女视频网站| 中文字幕日韩精品有码视频| 九九热这里只有精品免费看| 亚洲视频日韩精品| x99av成人免费| 国产精品视频网| 91九色视频在线| 亚洲第一av网站| 国产日产欧美a一级在线| 91美女高潮出水| 九九热r在线视频精品| 国产中文字幕91| 亚洲欧美日韩国产中文专区| 日本老师69xxx| 亚洲天堂色网站| …久久精品99久久香蕉国产| 久久99国产精品自在自在app| 国产精品美女久久久免费| 粗暴蹂躏中文一区二区三区| 中文字幕日韩av综合精品| 日韩电视剧免费观看网站| 国产精品成人va在线观看| 亚洲黄色www| 亚洲电影免费观看高清完整版在线| 91sao在线观看国产| 国产91|九色| 久久久精品视频在线观看| 国产91在线播放九色快色| 成人字幕网zmw| 日韩av免费看| 国产一区二区三区在线视频| 2019中文字幕全在线观看| 日日骚久久av| 国产精品成人一区二区| 日韩一中文字幕| 亚洲精品国产拍免费91在线| 久久久久国色av免费观看性色| 综合网日日天干夜夜久久| 日本亚洲欧美成人| 一本色道久久综合狠狠躁篇怎么玩| 精品国产一区二区三区久久久狼| 亚州精品天堂中文字幕| 国产盗摄xxxx视频xxx69| 九九热这里只有精品免费看| 欧美性色19p| 欧美日本在线视频中文字字幕| 欧美—级a级欧美特级ar全黄| 久久久久久久久久久免费| 亚洲有声小说3d| 精品露脸国产偷人在视频| 久久久女人电视剧免费播放下载| 在线观看欧美成人| 国产日韩av高清| 亚洲欧美激情在线视频| 亚洲一区二区在线播放| 国产精品大片wwwwww| 亚洲美女www午夜| 国产一区二区三区在线免费观看| 国产精品久久久久91| 91精品国产91久久久久久久久| 亚洲精品99久久久久中文字幕| 91精品视频网站| 亚洲色图15p| 欧美激情精品久久久久久大尺度| 日韩电影网在线| 中文字幕av一区二区三区谷原希美| 亚洲自拍欧美色图| 在线精品视频视频中文字幕| 日韩av电影国产| 欧美与欧洲交xxxx免费观看| 亚洲香蕉成人av网站在线观看| 欧美在线性爱视频| 欧美中文在线字幕| 亚洲综合中文字幕在线| 91高清视频免费观看| 九九热这里只有精品免费看| 成人午夜两性视频| 欧美理论电影在线观看| 欧美激情免费看| 日韩在线一区二区三区免费视频| 日本亚洲欧洲色α| 国产精品久久久亚洲| 成人有码在线视频| 久久天天躁狠狠躁夜夜躁2014| 欧美国产日韩二区| 欧美一级淫片videoshd| 色99之美女主播在线视频| 日韩精品在线免费观看| 精品福利视频导航| 欧美在线一区二区三区四| 欧美激情综合色综合啪啪五月| 日韩视频精品在线| 91po在线观看91精品国产性色| 国产拍精品一二三| 国外成人在线视频| 亚洲成人免费网站| 精品视频在线播放色网色视频| 日韩精品免费在线观看| 久久中文字幕视频| 日韩在线观看免费网站| 日韩av免费看| 91免费看片在线| 久久99久久久久久久噜噜| 国内精品久久久久影院 日本资源| 91九色精品视频| 成人欧美一区二区三区黑人| 日韩中文字幕网| 91麻豆国产语对白在线观看| 色伦专区97中文字幕| 亚洲一区中文字幕在线观看| 日韩色av导航| 亚洲欧美日韩中文在线| 日韩一区av在线| 一区二区亚洲精品国产| 91精品视频免费看| 久久天天躁狠狠躁夜夜av| 久久免费福利视频| 国产精品美女无圣光视频| 久久久久久久久久久av| 欧美日本高清视频| 亚洲免费视频在线观看| 成人免费观看a| 午夜精品理论片| 亚洲精品av在线| 国产欧美日韩专区发布| 欧美国产日本在线| 98精品国产自产在线观看| 日韩视频免费在线观看| 亚洲第一色在线| 欧美一级黑人aaaaaaa做受| 欧美高清无遮挡| 亚洲激情在线观看视频免费| 中文在线资源观看视频网站免费不卡| 日韩电影免费在线观看中文字幕| 日本一区二区三区在线播放| 国产精品成熟老女人| 日韩欧美在线免费观看| 这里只有精品在线观看| 日韩精品高清视频| 欧美视频在线观看免费| 欧美孕妇孕交黑巨大网站| 日韩经典中文字幕在线观看| 国产精品直播网红| 亚洲人精品午夜在线观看| 国产精品6699| 96精品久久久久中文字幕| 久久精视频免费在线久久完整在线看| 91精品视频专区| 亚洲成人激情在线观看| 精品欧美激情精品一区| 国产精品ⅴa在线观看h| 欧美性xxxxxxxxx| 欧美电影免费观看网站| 日韩三级成人av网| 日韩一级黄色av| 国产成人精品久久二区二区91| 伊人青青综合网站| 91在线中文字幕| 欧美国产日本在线| 久久国产精品视频| 91av视频在线免费观看| 欧美日韩国产一中文字不卡|