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对文件操作的更多相关文章

  1. Java 之 File类(文件操作)

    一.概述 java.io.File 类是文件和目录路径名册抽象表示,主要用于文件和目录的创建.查找和删除等操作. File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法. 路径问题: ...

  2. Java实现FTP跨服务器文件操作

    在过去的几年工作中,曾经多次需要把文件上传到单独的服务器,而程序是在单独的服务器上部署的,在进行文件操作的时候就需要跨服务器进行操作包括:文件上传.文件下载.文件删除等.跨服务器文件操作一般是需要FT ...

  3. Java序列化与反序列化,文件操作

    参考两篇博客: http://blog.csdn.net/moreevan/article/details/6697777 http://blog.csdn.net/moreevan/article/ ...

  4. java开发_读写txt文件操作

    package com.mi.util; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStr ...

  5. java I/O框架 (二)文件操作(File)

    1.介绍 java io中最常操作的就是我们电脑中的文件,将这些文件以流的形式本地读写,或者上传到网络上.java中的File类就是对这些存储于磁盘上文件的虚拟映射,这也体现了java面向对象的思想, ...

  6. Java中常用到的文件操作那些事(一)——替换doc文档模板,生成真实合同案例

    工作中,我们时常会遇到一些操作文件的操作,比如在线生成合同模板,上传/下载/解析Excel,doc文档转为pdf等操作.本文就已工作中遇到的在线生成合同为例,简要地介绍一种文档替换写法. 本文目的:给 ...

  7. [置顶] Java编程笔试题之一 ----文件操作

    题目:给定一个文件和一个字符串,判断文件是否包含该字符串,如果包含,请打印出包含该字符串的行号以及该行的全部内容. 思路: ①使用缓冲流(BufferedReader)读取文件,定义初始行号为0.   ...

  8. Java中常用到的文件操作那些事(二)——使用POI解析Excel的两种常用方式对比

    最近生产环境有个老项目一直内存报警,不时的还出现内存泄漏,导致需要重启服务器,已经严重影响正常服务了.获取生成dump文件后,使用MAT工具进行分析,发现是其中有个Excel文件上传功能时,经常会导致 ...

  9. Java 8 文件操作(转)

    我们知道在JDK6甚至之前的时候,我们想要读取一个文本文件也是非常麻烦的一件事,而现在他们都变得简单了, 这要归功于NIO2,我们先看看之前的做法: 读取一个文本文件 BufferedReader b ...

随机推荐

  1. P1929 迷之阶梯

    题目描述 在经过地球防卫小队的数学家连续多日的工作后,外星人发的密码终于得以破解.它 告诉我们在地球某一处的古老遗迹中,存在有对抗这次灾难的秘密武器.防卫小队立即赶 到这处遗迹.要进入遗迹,需要通过一 ...

  2. intelij idea 2018 license server

    http://www.cnblogs.com/jin-zhe/p/9267912.html

  3. 1820:【00NOIP提高组】进制转换

    #include<bits/stdc++.h>//十分简单(滑稽)的一道模拟题 using namespace std; ]={'A','B','C','D','E','F','G','H ...

  4. [后渗透]Linux下的几种隐藏技术【转载】

    原作者:Bypass 原文链接:转自Bypass微信公众号 0x00 前言 攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术. 0x01 隐藏文件 ...

  5. 通俗易懂的Redis数据结构基础教程

    Redis有5个基本数据结构,string.list.hash.set和zset.它们是日常开发中使用频率非常高应用最为广泛的数据结构,把这5个数据结构都吃透了,你就掌握了Redis应用知识的一半了. ...

  6. JS 定时器的4种写法及介绍

    JS提供了一些原生方法来实现延时去执行某一段代码,下面来简单介绍一下setTiemout.setInterval.setImmediate.requestAnimationFrame. 一.什么是定时 ...

  7. Java--常用API介绍

    Scanner类--键盘输入,室友起来三个步骤: 第一,导包:import java.util.Scanner 第二,创建:Scanner sc = new Scanner(System.in) 第三 ...

  8. LeetCode 222. 完全二叉树的节点个数(Count Complete Tree Nodes)

    题目描述 给出一个完全二叉树,求出该树的节点个数. 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位 ...

  9. go中json的tag使用

    指定json中的key名字: 指定数据类型, string number, boolean 忽略空值(值不为空, 不忽略) 忽略字段 "-" (无论有没有值, 都忽略) type ...

  10. .prop() vs .attr()

    .prop() vs .attr() Update 1 November 2012 My original answer applies specifically to jQuery 1.6. My ...