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 ...
随机推荐
- git 忽略文件 目录
git status 这里面的iml文件类似 eclipse .project文件 ,不能删除 .删除就不能识别项目了. 通过git .gitignore文件 过滤 git status gitig ...
- decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETU ...
- Colab使用教程
目录 有关链接 使用GPU 切换文件夹 参考 有关链接 Google Colabratory Google Drive 使用GPU 以下两种方式都可以: "修改"->&quo ...
- php手记之02-tp5请求参数读取三种方式
01-[推荐方式] 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息.在Thinkphp5.1中,获取请求对象数据,是由think\Request类负责,在很多场合下并不需 ...
- qt Qt5开发
本章将介绍使用Qt5开发.我们将告诉你如何安装Qt SDK,如何使用Qt Creator IDE创建以及运行一个简单的Hello World应用程序. 一.安装Qt5 SDK Qt SDK包括构建桌面 ...
- Socket函数详解
#include <sys/types.h>; #include <sys/socket.h>; --------------------------------------- ...
- 三种Timer使用
System.Windows.Forms.Timer, System.Threading.Timer, System.Timer,三种Timer使用如下 第一种:System.Windows.Fo ...
- group by 分组去重查询
数据库中的数据是这样的: 想要看看有几种类型,可以用group by: select * from activiti.act_ru_task where PROC_INST_ID_ in (selec ...
- Benchmark result without MONITOR running: Benchmark result with MONITOR running (redis-cli monitor > /dev/null): 吞吐量 下降约1半 Redis监控工具,命令和调优
https://redis.io/commands/monitor In this particular case, running a single MONITOR client can reduc ...
- consul上删除已经注册的节点
1,在consul上找到要删除的ID, 2,在consul的节点上删除这个ID:固定格式: 命令如果运行成功:没有任何的返回值 [root@beta-commonsrv01 ~] $curl --re ...