java Files 和 Path对文件操作
1.拷贝文件
/**
* 拷贝文件,生成新的文件名
* @param pathUpload
* @return
*/
private String converUploadFileName(String pathUpload){
String resultPath = null;
File file = null;
try { file = new File(pathUpload);
Path path = null;
if(file.exists()){
//1.创建临时文件目录
Path targetFilePath = Paths.get(file.getParentFile().getAbsolutePath()+"\\temp");
path = Files.createDirectory(targetFilePath); if(!targetFilePath.toFile().exists()){ //2.拷贝指定文件 生成新的文件名
Path srcFile = file.toPath(); //源文件
Path targetFile = new File(path.toFile().getAbsolutePath()+"\\aa").toPath(); //生成目标文件
Path newFile = Files.copy(srcFile, targetFile, StandardCopyOption.REPLACE_EXISTING);
resultPath = newFile.toFile().getAbsolutePath();
}else{
Path srcFile = file.toPath(); //源文件
Path targetFile = new File(path.toFile().getAbsolutePath()+"\\aa").toPath(); //生成目标文件
Path newFile = Files.copy(srcFile, targetFile, StandardCopyOption.REPLACE_EXISTING);
resultPath = newFile.toFile().getAbsolutePath();
}
}
} catch (IOException e) {
resultPath = "";
LOG.error("xxxxxxxxxxxxxx conver upload fileName 异常 xxxxxxxxxxxxxx "+e);
}
return resultPath;
}
2.删除指定文件
/**
* 删除上传的临时文件
* @param path
* @return
*/
public int delTempFile(String path){
int flag = 0;
try {
File srcFile = new File(path); //1.删除文件、目录
Files.delete(Paths.get(srcFile.getParentFile().getAbsolutePath()+"\\temp\\aa"));
Files.delete(Paths.get(srcFile.getParentFile().getAbsolutePath()+"\\temp\\")); //2.验证
int size = Arrays.stream(new File(srcFile.getParentFile().getAbsolutePath()).listFiles())
.filter(f->f.getName().equals("temp"))
.collect(Collectors.toList()).size(); //3.返回
if(size == 0){
LOG.debug("删除文件成功:"+srcFile.getName());
return flag;
}else{
LOG.debug("删除文件失败:"+srcFile.getName());
flag = 1;
} } catch (IOException e) {
LOG.error("xxxxxxxxxxxxxxxxxxxxxxx 删除临时文件异常 xxxxxxxxxxxxxxxxxxxxxxxx "+e);
}
return flag;
}
java Files 和 Path对文件操作的更多相关文章
- Java 之 File类(文件操作)
一.概述 java.io.File 类是文件和目录路径名册抽象表示,主要用于文件和目录的创建.查找和删除等操作. File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法. 路径问题: ...
- Java实现FTP跨服务器文件操作
在过去的几年工作中,曾经多次需要把文件上传到单独的服务器,而程序是在单独的服务器上部署的,在进行文件操作的时候就需要跨服务器进行操作包括:文件上传.文件下载.文件删除等.跨服务器文件操作一般是需要FT ...
- Java序列化与反序列化,文件操作
参考两篇博客: http://blog.csdn.net/moreevan/article/details/6697777 http://blog.csdn.net/moreevan/article/ ...
- java开发_读写txt文件操作
package com.mi.util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStr ...
- java I/O框架 (二)文件操作(File)
1.介绍 java io中最常操作的就是我们电脑中的文件,将这些文件以流的形式本地读写,或者上传到网络上.java中的File类就是对这些存储于磁盘上文件的虚拟映射,这也体现了java面向对象的思想, ...
- Java中常用到的文件操作那些事(一)——替换doc文档模板,生成真实合同案例
工作中,我们时常会遇到一些操作文件的操作,比如在线生成合同模板,上传/下载/解析Excel,doc文档转为pdf等操作.本文就已工作中遇到的在线生成合同为例,简要地介绍一种文档替换写法. 本文目的:给 ...
- [置顶] Java编程笔试题之一 ----文件操作
题目:给定一个文件和一个字符串,判断文件是否包含该字符串,如果包含,请打印出包含该字符串的行号以及该行的全部内容. 思路: ①使用缓冲流(BufferedReader)读取文件,定义初始行号为0. ...
- Java中常用到的文件操作那些事(二)——使用POI解析Excel的两种常用方式对比
最近生产环境有个老项目一直内存报警,不时的还出现内存泄漏,导致需要重启服务器,已经严重影响正常服务了.获取生成dump文件后,使用MAT工具进行分析,发现是其中有个Excel文件上传功能时,经常会导致 ...
- Java 8 文件操作(转)
我们知道在JDK6甚至之前的时候,我们想要读取一个文本文件也是非常麻烦的一件事,而现在他们都变得简单了, 这要归功于NIO2,我们先看看之前的做法: 读取一个文本文件 BufferedReader b ...
随机推荐
- 数据结构实验之图论九:最小生成树 (SDUT 2144)
#include<bits/stdc++.h> using namespace std; typedef long long ll; struct node { int s, e; int ...
- 使用dig进行DNS查询
dig全称Domain Information Groper,是一个DNS域名信息查询的工具,可以使用来查看域名解析的过程. dig是linux下自带的工具,如果要在windows下使用需要自行下载和 ...
- 用Python匹配HTML tag的时候,<.>和<.?>有什么区别?
答:术语叫贪婪匹配( <.> )和非贪婪匹配(<.?> ) 例如: test <.*> : test <.*?> :
- 对list某个条件排序,并实现分页
package com.jcloud.aioc.api.controller.Test; import com.alibaba.fastjson.JSON; import org.apache.poi ...
- java循环获取多天时间
通过开始时间和结束时间循环获取时间: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date star ...
- [bzoj 3534][Sdoi2014] 重建
传送门 Description T国有N个城市,用若干双向道路连接.一对城市之间至多存在一条道路. 在一次洪水之后,一些道路受损无法通行.虽然已经有人开始调查道路的损毁情况,但直到现在几乎没有消息传 ...
- 咏南中间件和开发框架全面支持DELPHI10.3.2
咏南中间件和开发框架全面支持DELPHI10.3.2 易博龙公司2019年7月12日发布了RAD STUDIO10.3.2正式版本. 咏南中间件自2019年7月14日始,中间件.CS框架.WEB框架. ...
- oracle主键修改级联外键
举例:修改te_rygj_menu这张表的主键menu_id时,te_rygj_usermenu中的menu_id也跟着修改.利用触发器trigger实现: create or replace tri ...
- new Handler()和new Handler(Looper.getMainLooper())的区别是什么?
new Handler()和new Handler(Looper.getMainLooper())的区别是什么? 一.Handler的一些知识,new Handler()和new Handle ...
- [webpack]webpack打包优化
1.import优化 a.tree-shaking 把没用到的代码删除掉,import 在生产环境下 会自动去除掉没用的代码 b.scope hosting 作用域提升,在webpack中会自动省略一 ...