| 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 ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|