📅  最后修改于: 2023-12-03 15:01:32.770000             🧑  作者: Mango
Java Writer类是用来写入字符流的抽象类。它是一个抽象类,需要通过其子类(如FileWriter)实例化才能使用。
创建Writer类的子类的实例,使用write()方法来将字符写入流中,最后使用close()方法关闭流。
import java.io.FileWriter;
import java.io.IOException;
public class WriteToFile {
public static void main(String[] args) {
try {
Writer writer = new FileWriter("output.txt");
writer.write("Hello, World!");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在使用Writer类写入字符流时,需要在写完之后及时关闭流。如果没有关闭流,就可能导致数据丢失或者文件无法访问。
在关闭流之前还可以使用flush()方法,将缓冲区中的数据全部写入到流中,以避免部分数据丢失。
import java.io.FileWriter;
import java.io.IOException;
public class WriteToFile {
public static void main(String[] args) {
try {
Writer writer = new FileWriter("output.txt");
writer.write("Hello, World!");
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Writer类及其子类在向流中写入字符时,需要使用特定的字符编码。默认情况下,Writer类使用的是操作系统默认的字符编码。
可以使用另一个构造函数来指定字符编码。
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class WriteToFile {
public static void main(String[] args) {
try {
Writer writer = new FileWriter("output.txt", StandardCharsets.UTF_8);
writer.write("Hello, World!");
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上代码使用UTF-8字符编码将字符写入到文件中。
Java Writer类是一个强大的工具,用于以各种字符编码将字符写入到字符流中。它的使用方法简单明了,需要通过子类实例化之后使用。在写完字符之后需要及时关闭流,以免数据丢失。