任务描述
本关任务:使用字符输出流把给定字符串写入到给定文件中。
相关知识
什么是 Writer 类
我们知道 Reader 是带编码转换器的 InputStream,它把 byte 转换为 char,那么 Writer 就是带编码转换器的 OutputStream,它把 char 转换为 byte 并输出。
Writer 类的常用方法
方法名 | 方法说明 |
---|---|
write() 方法 | 写入一个字符到输出流 |
close() 方法 | 用于关闭输出流 |
flush()方法 | 将缓冲区的内容真正输出到目的地 |
Writer 类的常用子类
以下是它的常用子类:
子类名 | 子类说明 |
---|---|
FileWriter 类 | 向文件中写入字符流 |
CharArrayWriter 类 | 在内存中模拟一个字符流输出 |
由于 Writer 类是抽象类,我们以它的子类 FileWriter 类为例,演示如何向文件中写入字符流:
public static void main(String[] args) throws IOException{
String s="hello";
// 创建 FileWriter 对象
try (Writer write=new FileWriter("C:\\Users\\yy\\Desktop\\a.txt")) {
// 向文件中写入字符流
write.write(s);
write.flush();
}
}
执行以上代码,即可把字符串以字符的形式写入文件中。
- import java.io.*;
- import java.util.Scanner;
-
- public class FileTest {
- public static void main(String[] args) throws IOException {
- // 请在Begin-End间编写完整代码
- /********** Begin **********/
- // 接收给定字符串
- Scanner input = new Scanner(System.in);
- String str = input.nextLine();
- // 切割字符串
- String[] array = str.split(",");
- // 创建FileWriter对象
- FileWriter fileWriter = new FileWriter(array[0]);
- // 向文件中写入字符流
- fileWriter.write(array[1]);
- fileWriter.close();
- /********** End **********/
- }
- }