第1关:学习-Java输入输出之Writer类之字符数据输出
任务描述
本关任务:使用字符输出流把给定字符串写入到给定文件中。
相关知识
什么是 Writer 类
我们知道 Reader 是带编码转换器的 InputStream,它把 byte 转换为 char,那么 Writer 就是带编码转换器的 OutputStream,它把 char 转换为 byte 并输出。
Writer 类的常用方法
方法名 | 方法说明 |
write() 方法 | 写入一个字符到输出流 |
close() 方法 | 用于关闭输出流 |
flush()方法 | 将缓冲区的内容真正输出到目的地 |
Writer 类的常用子类
以下是它的常用子类:
子类名 | 子类说明 |
FileWriter 类 | 向文件中写入字符流 |
CharArrayWriter 类 | 在内存中模拟一个字符流输出 |
由于 Writer 类是抽象类,我们以它的子类 FileWriter 类为例,演示如何向文件中写入字符流:
1. public static void main(String[] args) throws IOException{
2. String s="hello";
3. // 创建 FileWriter 对象
4. try (Writer write=new FileWriter("C:\\Users\\yy\\Desktop\\a.txt")) {
5. // 向文件中写入字符流
6. write.write(s);
7. write.flush();
8. }
9. }
执行以上代码,即可把字符串以字符的形式写入文件中。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,使用字符输出流把给定字符串写入到给定文件中,具体要求如下:
- 接收给定的一行字符串(如:/test/a.txt,hellojava。逗号前代表文件路径,逗号后代表字符串);
- 使用字符输出流把给定字符串写入到给定文件中。
注意:字符串的逗号分隔符为中文分隔符。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
1. /test/a.txt,hellojava
预期输出(后台查看给定文件中的内容产生的结果):
1. hellojava
开始你的任务吧,祝你成功!
源代码:
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 **********/
}
}