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());
}
}
}
欢迎今晚来学习!!