程序员潇然 发表于 2022-7-19 15:42:07

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

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

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

```java
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())` 文件名之上的路径,如果不存在就会进行创建

涉及到的几个类引用如下

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

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

```java
public enum StandardOpenOption implements OpenOption
```

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

!(data/attachment/forum/202207/19/154001z5btgc5ccjzbjyby.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

!(data/attachment/forum/202206/16/141330jha7st9soow8772i.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "common_log.png")
`转载务必注明出处:程序员潇然,疯狂的字节X,https://crazybytex.com/thread-85-1-1.html `

页: [1]
查看完整版本: [java]nio中如何写入文件 目录不存在创建目录 追加写入