第1关:学习-Java输入输出之Writer类之字符数据输出
任务描述
本关任务:使用字符输出流把给定字符串写入到给定文件中。
相关知识
什么是 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();
}
}
执行以上代码,即可把字符串以字符的形式写入文件中。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,使用字符输出流把给定字符串写入到给定文件中,具体要求如下:
- 接收给定的一行字符串(如:/test/a.txt,hellojava。逗号前代表文件路径,逗号后代表字符串);
- 使用字符输出流把给定字符串写入到给定文件中。
注意:字符串的逗号分隔符为中文分隔符。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
/test/a.txt,hellojava
预期输出(后台查看给定文件中的内容产生的结果):
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 string = input.next();
// 切割字符串
String[] str = string.split(",");
// 创建FileWriter对象
Writer writer = new FileWriter(str[0]);
// 向文件中写入字符流
writer.write(str[1]);
writer.flush();
/********** End **********/
try{
writer.close();
}catch (Exception e){
}
}
}