java finally删除文件6_FileUtils删除文件的工具类

packagecn.xm.jwxt.utils;importorg.apache.commons.io.FileUtils;importorg.apache.commons.io.FilenameUtils;importorg.springframework.web.multipart.MultipartFile;import java.io.*;importjava.util.Locale;importjava.util.ResourceBundle;/*** @Author: qlq

* @Description 文件处理类

* @Date: 22:59 2018/4/9*/

public classFileHandleUtil {/******S 封装的读取properties文件****************/

/*** 系统语言环境,默认为中文zh*/

public static final String LANGUAGE = "zh";/*** 系统国家环境,默认为中国CN*/

public static final String COUNTRY = "CN";private staticString getProperties(String baseName, String section) {

String retValue= "";try{

Locale locale= newLocale(LANGUAGE, COUNTRY);

ResourceBundle rb=ResourceBundle.getBundle(baseName, locale);

retValue=(String) rb.getObject(section);

}catch(Exception e) {

e.printStackTrace();//TODO 添加处理

}returnretValue;

}/*** 通过key从资源文件读取内容

*

*@paramfileName

* 资源文件名

*

*@paramkey

* 索引

*

*@return索引对应的内容*/

public staticString getValue(String fileName, String key) {

String value=getProperties(fileName,key);returnvalue;

}/******E 封装的读取properties文件****************/

/**********S 保存文件相关操作**************/

/*** 配置虚拟路径上传文件到本地磁盘

*@paramf 需要上传的文件

*@paramfileName 保存到磁盘的文件名

*@parampathKey 资源文件中的键 path.properties*/

public static voiduploadFileToDisk(File f,String fileName,String pathKey){//从资源文件中读取文件的基本目录

String basePath = ResourcesUtil.getValue("path", pathKey);//获取文件的后缀

String sufix =FilenameUtils.getExtension(fileName);//获取文件的前缀

String prefix =FilenameUtils.getBaseName(fileName);//保存到硬盘的文件的完整路径

String dir = basePath+fileName;try{

InputStream streamIn= newFileInputStream(f);

OutputStream streamOut= new FileOutputStream(newFile(dir));int bytesRead=0;byte[] byffer = new byte[8192];while((bytesRead=streamIn.read(byffer,0,8192))!=-1){

streamOut.write(byffer,0, bytesRead);

}

streamIn.close();

streamOut.flush();

streamOut.close();

}catch(IOException e) {

e.printStackTrace();

}//如果文件是doc或者docx文件将文件转为pdf存一份到服务器

if("doc".equals(sufix)||"docx".equals(sufix)){try{//Word2PdfUtil.word2pdf(dir, basePath+prefix+".pdf");

} catch(Exception e) {

e.printStackTrace();

}

}

}/**********E 保存文件相关操作**************/

/******************S 删除文件相关操作********/

/***删除word(有可能后缀是doc,docx,或者转换后的pdf文件)

*@parampropertiesKey path.properties文件中的key(确定目录)

*@paramfileName 需要删除的文件的名字(确定删除哪个文件)

*@return删除结果*/

public static booleandeleteWordOrPdfFile(String propertiesKey,String fileName) {if (fileName == null) {return false;

}

String dir= FileHandleUtil.getValue("path", propertiesKey);//获取文件的基本目录

String baseName = FilenameUtils.getBaseName(fileName);//获取文件的基本名字(借助commons-io包读取文件基本名称)

try{

FileUtils.deleteQuietly(new File(dir + baseName + ".pdf"));

FileUtils.deleteQuietly(new File(dir + baseName + ".doc"));

FileUtils.deleteQuietly(new File(dir + baseName + ".docx"));

}catch(Exception e) {

e.printStackTrace();

}return true;

}/***删除普通的文件(jpg,word,pdf)

*@parampropertiesFileName properties文件的名称(确定读取哪个properties文件)

*@parampropertiesKey properties文件中的key(确定目录)

*@paramfileName 需要删除的文件的名字(确定删除哪个文件)

*@return删除结果*/

public static booleandeletePlainFile(String propertiesFileName,String propertiesKey,String fileName) {if (fileName == null) {return false;

}

String dir= FileHandleUtil.getValue(propertiesFileName, propertiesKey);//获取文件的基本目录

try{//删除文件//FileUtils.forceDeleteOnExit(new File(dir + fileName));

FileUtils.deleteQuietly(new File(dir +fileName));

}catch(Exception e) {

e.printStackTrace();

}return true;

}/****************E 删除文件相关操作**************/

/******* S针对SptingMVC的上传文件的处理 *************/

/*** 专门针对SpringMVC的文件上传操作

*@parammultipartFile 文件参数

*@parampropertiesKey 需要读取的path里面的key

*@paramfileName 文件名字,比如: ce5bd946fd43410c8a26a6fa1e9bf23c.pdf

*@return返回值是最后的文件名字,如果是word需要转成pdf,1.doc返回值就是1.pdf*/

public static String uploadSpringMVCFile(MultipartFile multipartFile,String propertiesKey,String fileName) throwsException {

String fileDir= FileHandleUtil.getValue("path", propertiesKey);//获取文件的基本目录//1.将文件保存到指定路径

multipartFile.transferTo(new File(fileDir+fileName));//保存文件//2.根据文件后缀判断文件是word还是pdf,如果是word需要转成pdf,其他的话不做处理

String fileNameSuffix = FilenameUtils.getExtension(fileName);//调用io包的工具类获取后缀

if("doc".equals(fileNameSuffix)||"docx".equals(fileNameSuffix)){//如果后缀是doc或者docx的话转为pdf另存一份

String fileNamePrefix = FilenameUtils.getBaseName(fileName);//获取文件前缀名字

Word2PdfUtil.word2pdf(fileDir+fileName,fileDir+fileNamePrefix+".pdf");//进行word转换pdf操作

fileName = fileNamePrefix+".pdf";//并将文件的名字换成新的pdf名字

}returnfileName;

}/******* E针对SptingMVC的上传文件的处理 *************/}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值