| New file | 
 |  |  | 
 |  |  | package com.dy.pipIrrWebFile.util; | 
 |  |  |  | 
 |  |  | import java.io.File; | 
 |  |  | import java.io.FileNotFoundException; | 
 |  |  | import java.io.FileOutputStream; | 
 |  |  | import java.io.IOException; | 
 |  |  | import java.io.InputStream; | 
 |  |  | import java.io.OutputStream; | 
 |  |  | import java.io.RandomAccessFile; | 
 |  |  | import java.nio.channels.FileChannel; | 
 |  |  |  | 
 |  |  | import org.apache.logging.log4j.LogManager; | 
 |  |  | import org.apache.logging.log4j.Logger; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | public class FileUtil { | 
 |  |  | 	 | 
 |  |  |    protected static final Logger log = LogManager.getLogger(FileUtil.class.getName()) ; | 
 |  |  |    /** | 
 |  |  |     * 保存文件 | 
 |  |  |     * @param fileAbsolutelyPath 文件绝对路径 | 
 |  |  |     * @param input | 
 |  |  |     * @return 保存文件的是否成功的结果 | 
 |  |  |     */ | 
 |  |  |    public boolean saveFile(String fileAbsolutelyPath , InputStream input){ | 
 |  |  |       boolean success = true ; | 
 |  |  |       if(fileAbsolutelyPath == null || input == null){ | 
 |  |  |          success = false ; | 
 |  |  |       }else{ | 
 |  |  |          OutputStream os = null; | 
 |  |  |          try { | 
 |  |  |             os = new FileOutputStream(fileAbsolutelyPath); | 
 |  |  |             byte[] b = new byte[1024] ; | 
 |  |  |             int len = input.read(b) ; | 
 |  |  |             while(len > 0){ | 
 |  |  |                os.write(b, 0, len); | 
 |  |  |                len = input.read(b) ; | 
 |  |  |                os.flush(); | 
 |  |  |             } | 
 |  |  |          } catch (Exception e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |             success = false ; | 
 |  |  |          } finally { | 
 |  |  |             try { | 
 |  |  |                if(os != null){ | 
 |  |  |                   os.close(); | 
 |  |  |                } | 
 |  |  |             } catch (IOException e) { | 
 |  |  |                e.printStackTrace(); | 
 |  |  |             } | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |       return success ; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 复制文件 | 
 |  |  |     * @param fromFile | 
 |  |  |     * @param realPath 绝对路径 | 
 |  |  |     * @param newFileRelativityPath 相对路径 | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public boolean copyFile(File fromFile, String realPath, String newFileRelativityPath){ | 
 |  |  |       boolean flag = true ; | 
 |  |  |       FileChannel fromChannel = null ; | 
 |  |  |       FileChannel toChannel = null ; | 
 |  |  |       try { | 
 |  |  |          fromChannel = new RandomAccessFile(fromFile, "r").getChannel(); | 
 |  |  |          toChannel = new RandomAccessFile(new File(realPath + newFileRelativityPath), "rw").getChannel(); | 
 |  |  |          fromChannel.transferTo(0, fromChannel.size(), toChannel); | 
 |  |  |       } catch (FileNotFoundException e) { | 
 |  |  |          flag = false ; | 
 |  |  |          log.error("复制文件出错:" + e.getMessage()) ; | 
 |  |  |       } catch (IOException e) { | 
 |  |  |          flag = false ; | 
 |  |  |          log.error("复制文件出错:" + e.getMessage()) ; | 
 |  |  |       }finally{ | 
 |  |  |          try{ | 
 |  |  |             if(fromChannel != null){ | 
 |  |  |                fromChannel.close() ; | 
 |  |  |             } | 
 |  |  |             if(toChannel != null){ | 
 |  |  |                toChannel.close() ; | 
 |  |  |             } | 
 |  |  |          }catch(Exception e){}finally{} | 
 |  |  |       } | 
 |  |  |       return flag ; | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  |    /** | 
 |  |  |     * 删除文件 | 
 |  |  |     * @param f | 
 |  |  |     */ | 
 |  |  |    public boolean deleteFile(File f){ | 
 |  |  |       boolean flag = false ; | 
 |  |  |       try{ | 
 |  |  |          if(f != null){ | 
 |  |  |             flag = f.delete() ; | 
 |  |  |          } | 
 |  |  |       }catch(Exception e){ | 
 |  |  |       }finally{} | 
 |  |  |       return flag ; | 
 |  |  |    } | 
 |  |  | 	 | 
 |  |  |    /** | 
 |  |  |     * 删除文件 | 
 |  |  |     * @param path | 
 |  |  |     */ | 
 |  |  |    public boolean deleteFile(String path){ | 
 |  |  |       boolean flag = false ; | 
 |  |  |       try{ | 
 |  |  |          if(path != null && !path.equals("")){ | 
 |  |  |             File f = new File(path) ; | 
 |  |  |             if(f != null && f.exists()){ | 
 |  |  |                flag = f.delete() ; | 
 |  |  |             } | 
 |  |  |          } | 
 |  |  |       }catch(Exception e){ | 
 |  |  |       }finally{} | 
 |  |  |       return flag ; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | } |