Files 写文件

写文件

1.写入列表或字符串

1)写入列表
Files.write(Paths.get("./test"),list),后面还可以通过StandardOpenOption指定写入模式和Charset指定编码

    public static void main(String[] args) throws IOException {
    
    
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        Files.write(Paths.get("./test"),list);
}

2)写入字符串
Files.write(Paths.get("./test"),"abc".getBytes("utf-8"));

public static void main(String[] args) throws IOException {
    
    
    Files.write(Paths.get("./test"),"abc".getBytes("utf-8"));
}

2.模式选择,清空模式,追加模式,创建模式

StandardOpenOption来确定读写模式,不输入的话,就像1中的是CREATETRUNCATE_EXISTING,可以自定义为追加APPEND,CREATE_NEW可以用来判断文件是否存在,如果存在则报错.

1)清空模式,默认是没有文件则创建文件,有文件则清空文件,既自带CREATETRUNCATE_EXISTING参数

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class clroja {
    
    
    public static void main(String[] args) throws IOException {
    
    
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        Files.write(Paths.get("./test"),list);
        //Files.write(Paths.get("./test"),list, StandardOpenOption.APPEND);
    }
}

3.写入编码选择

1).Charset或者StandardCharsets可以用来指定写入列表时的具体的编码

public class clroja {
    
    
    public static void main(String[] args) throws IOException {
    
    
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        Files.write(Paths.get("./test"),list, StandardCharsets.UTF_8);//等价于Charset.forName("utf-8")
    }
}

2)字符串转字节实现直接写入字符串
在字符串转字节时,指定编码

    public static void main(String[] args) throws IOException {
    
    
        Files.write(Paths.get("./test"),"abc".getBytes("utf-8"));
    }

近2万字详解JAVA NIO2文件操做,过瘾!

猜你喜欢

转载自blog.csdn.net/claroja/article/details/113872363