源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-07-18 00:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java文件操作工具类分享(file文件工具类)
[u]复制代码[/u] 代码如下:
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 = "\\";//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;  } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部