第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 **********/
    }
}