请选择 进入手机版 | 继续访问电脑版

[代码段] [java]nio中如何写入文件 目录不存在创建目录 追加写入

技术实战 技术实战 1507 人阅读 | 0 人回复

熟悉java的对于java中读写文件,都不会陌生,之前都是使用输入输出流进行处理,代码比较啰嗦麻烦。

NIO之后,有比较方便的形式,记录如下: 场景是我需要在指定路径中新建一个文件,而这整个的路径可能都是不存在的,当然文件更是不存在的,所以在不存在的时候,程序要能够自动创建相关路径和文件。

byte[] bytes = .........;
Path path = Paths.get(System.getProperty("user.dir").concat(File.separator).concat(LocalDate.now().toString()).concat(File.separator).concat(filename).concat(FILE_SUFFIX_JPG));
Files.createDirectories(path.getParent());
Files.write(path, bytes, CREATE, APPEND);

byte[]数组是需要写入的数据; Paths.get构造了路径 Files.createDirectories(path.getParent()) 文件名之上的路径,如果不存在就会进行创建

涉及到的几个类引用如下

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

Files.write()其中的一个参数类型为

public enum StandardOpenOption implements OpenOption

可以控制是追加写,不存在创建,方法的参数类型为:OpenOption... options,所以可以设置多个

image.png

common_log.png 转载务必注明出处:程序员潇然,疯狂的字节X,https://crazybytex.com/thread-85-1-1.html

关注下面的标签,发现更多相似文章
    黄小斜学Java

    疯狂的字节X

  • 目前专注于分享Java领域干货,公众号同步更新。原创以及收集整理,把最好的留下。
    包括但不限于JVM、计算机科学、算法、数据库、分布式、Spring全家桶、微服务、高并发、Docker容器、ELK、大数据等相关知识,一起进步,一起成长。
热门推荐
[若依]微服务springcloud版新建增添加一个
[md]若依框架是一个比较出名的后台管理系统,有多个不同版本。
[CXX1300] CMake '3.18.1' was not
[md][CXX1300] CMake '3.18.1' was not found in SDK, PATH, or
java 解析modbus 协议 Modbus4j应用 使用mo
[md]本文记录使用java开发modbus协议程序,与串口进行连接,使用