[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]