Java 11 文件新方法

原文:https://www.studytonight.com/java-11/java-11-files-new-methods

Java 11 在File类中增加了新的方法,以更好地处理文件。这些方法是:

  • readString(Path path)

  • writeString(Path path, CharSequence csq, OpenOption... options)

  • writeString(Path path, CharSequence csq, Charset cs, OpenOption... options)

让我们借助例子来分别理解这些方法。

Java 文件readString()方法

此方法用于将文件中的所有内容读入字符串。方法确保在读取所有内容后关闭文件。该方法的语法如下:

public static String readString(Path path) throws IOException

基本示例:

在本例中,我们使用readString()方法读取文件,该方法以字符串形式返回数据:

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

public class Main {  
    public static void main(String[] args) throws IOException{
        try {
        Path path = Paths.get("abc.txt");
        String data = Files.readString(path);
        System.out.println(data);
        System.out.println(data.getClass().getName());
        }catch(IOException e) {
            System.out.println(e.getMessage());
        }
    }        
}

今晚学习你好。 java.lang.String

Java 文件writeString()方法

此方法用于将字符串写入文件。使用 UTF-8 字符集将字符编码为字节。文件提供了另一种允许设置字符集的方法:

public static Path writeString?(Path path, CharSequence csq, OpenOption... options) throws IOException
public static Path writeString?(Path path, CharSequence csq, Charset cs, OpenOption... options) throws IOException

基本示例:

在本例中,我们使用writeString()方法将字符串写入文件“ abc.txt ,并使用readString()方法读取写入的字符串。

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

public class Main {  
    public static void main(String[] args) throws IOException{
        try {
        Path path = Paths.get("abc.txt");
        path = Files.writeString(path, "Welcome to studytonight!!");
        String data = Files.readString(path);
        System.out.println(data);
        }catch(IOException e) {
            System.out.println(e.getMessage());
        }
    }        
}

欢迎今晚来学习!!

另一个示例:指定字符集

如果我们想在写入文件时指定charSequence的字符集,那么可以使用forName()方法。请参见下面的示例:

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {  
    public static void main(String[] args) throws IOException{
        try {
        Path path = Paths.get("abc.txt");
        path = Files.writeString(path, "Welcome to studytonight!!", Charset.forName("UTF-8"));
        String data = Files.readString(path);
        System.out.println(data);
        }catch(IOException e) {
            System.out.println(e.getMessage());
        }
    }        
}

欢迎今晚来学习!!