在修改漏洞的时候发现,根据建议都使用NIO包的FILES和PATH来进行文件操作,来保证安全性.

import java.nio.file.Files;
import java.nio.file.Path;


Path path = Paths.get("D:\\1.txt"); try {
  // 创建文件
  if(!Files.exists(path))
  Files.createFile(path);
  // 删除临时文件
  Files.delete(Paths.get(path));
} catch (IOException e) {
  e.printStackTrace();
}

使用Files前,需要先使用Path来获取文件路径,而且可以用Path转化为其他多种地址形式,非常的好用(相对/绝对路径/URI...)

Files同样可以用来判断文件/文件夹是否存在,同时也可以获取文件夹下的所有文件

在判断之后,使用Files进行创建文件,并使用Path

删除文件也是一样,使用Files进行删除文件

既安全又好用

1.Files.exists()

Files.exists()方法检查文件系统中是否存在给定的Path。

2.Files.createDirectory()

Files.createDirectory()方法从Path实例创建一个新目录。

3.Files.copy()

Files.copy()方法将文件从一个路径复制到另一路径。

4.覆盖现有文件

可以强制Files.copy()覆盖现有文件。

5.Files.move()

Java NIO Files类还包含一个用于将文件从一个路径移动到另一路径的函数。

6.Files.delete()

Files.delete()方法可以删除文件或目录。

7.Files.walkFileTree()

Files.walkFileTree()方法包含用于递归遍历目录树的功能。

记录几个常用的FIles方法,具体使用方法和File的基本相同,就是参数略有出入

针对FILES和PATH的操作的更多相关文章

  1. 【Java】Files.readAllBytes(Path) 遇见的坑

    Files.readAllBytes(Path)方法把整个文件读入内存,此方法返回一个字节数组,还可以把结果传递给String的构造器,以便创建字符串输出. 在针对大文件的读取的时候,可能会出现内存不 ...

  2. PreparedStatement实现针对不同表的通用查询操作

    PreparedStatement实现针对不同表的通用查询操作:查询一样和多行 PreparedStatementQueryTest package com.aff.PreparedStatement ...

  3. java 文件操作(二)---Files和Path

    自从java 7以来,引入了FIles类和Path接口.他们两封装了用户对文件的所有可能的操作,相比于java 1的File类来说,使用起来方便很多.但是其实一些本质的操作还是很类似的.主要需要知道的 ...

  4. java Files 和 Path对文件操作

    1.拷贝文件 /** * 拷贝文件,生成新的文件名 * @param pathUpload * @return */ private String converUploadFileName(Strin ...

  5. c++针对数据库,文件的操作总结(原始)

    1.将文件保存到sqlserver数据库的相关操作: Update t1 .txt’, SINGLE_BLOB ) Select convert( varchar(), data ) 注:fileTy ...

  6. Xshell6远程访问linux及Xftp6远程针对linux系统中文件操作(附图文详解)

    1.首先我们需要先做好前期准备工作,需要到XManager6官网上将Xshell及Xftp下载并安装,安装过程一直下一步就好了.这里是其官网:http://www.xshellcn.com/.安装完成 ...

  7. java8 的files、path类相关文件遍历API

    Path的两种初始化(应该还有别的方式) Path file = new File(path).toPath(); Paths.get 判断是文件.是目录 Files.isRegularFile(fi ...

  8. 使用File类、StreamRead和StreamWrite读写数据、以及Path类操作文件路径和Directory

    1.File类的概念: File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量 ...

  9. Selenium系列(三) - 针对元素常见的简单操作

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  10. Path文件操作实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AddProduct.asp ...

随机推荐

  1. 统计 nginx access.log

    awk '{print $1}' access22.log | sort | uniq -c | sort -nr -k1

  2. Hyperledger fabric 续篇

    前面我们如果进行顺利的话,环境已经可以成功运行,并且前端页面也可以正常显示,为自己鼓掌吧!!! 接下来,其实也是我自己想做一下尝试,还记得前面的一条查询车辆情况的指令吗? peer chaincode ...

  3. 离线谷歌地图API的开发笔记(二)

    一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小 ...

  4. JMETHOD

    #include <iostream> #define JMETHOD(type,methodname,arglist) type (*methodname) arglist JMETHO ...

  5. SPI接口

    串行外设接口(Serial Peripheral Interface)是一种同步外设接口,它可以使单片机与各种外围设备以串行方式进行通信以交换信息.SPI最早是Motorola公司提出的全双工三线同步 ...

  6. 打卡node day02--url qs 内置模块

    node 内置模块 url [官网链接:http://nodejs.cn/api/url.html] 1.url.parse() 2.url.format() 内置模块Query String 查询字 ...

  7. Linux基础第十章:系统安全及应用

    目录 一.账户安全措施 1.账户管理 2.锁定配置文件 3.清除历史记录 二.sudo 1.sudo概念及优点 2.使用sudo 3.sudo实操演示 4.设置sudo别名 5.sudo特别注意 一. ...

  8. memoの颜色配置

    Visual Studio的配置 没啥说的,直接上网站: https://studiostyl.es/schemes/create 顺便保存一份我的配置 一些有趣的插件:Amigo 主题配色,还是Bl ...

  9. 解决vuex 状态管理mutations报错为:"[vuex] unknown mutation type: VIWE_NAV"

    报错截图: 我的解决思路: 1.先检查gettes方向获取与actions提交是否畅通,同时专注检查code是否输错. 2.我查了别人多数是""在vuex中没有mutation,有 ...

  10. 查看linux机器上的cpu个数

    1. 查看 cpu 的物理核数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每个物理CPU中core的个数( ...