面试题-控制台输入内容后持久化到文件中

面试中遇到的手撸代码问题,技术不牢,没有IDE后感觉默写代码一点都想不起来,后来做出来后特此记录

题目

使用输入/输出写一个程序,让用户输入一些姓名和电话号码,每一个姓名和号码将添加在文件里。用户通过输入“Done”来告诉系统已输入完毕。如果用户输入完整个列表,程序将创建一个输出文件,并显示或打印出来输入内容。

1
2
3
4
5
文件格式:
555-1212, Tom
123-456, Ron
456-789, Jean
...

思路

其实就是一个监控控制台输入,然后将输入内容通过流的方式持久化到一个新建的文件中。然后在输入完成后,在从创建的文件中读取内容作为输入流,在控制台打印作为输出流。
可是,手撸代码的时候就是写不出来。。。惨

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package vip.proyi.demo;


import java.io.*;

/**
* 〈控制台输入后写入文件〉
* @author ProYI
* @date 2019-04-01 15:02
*/

public class SystemInToFile {
public static void main(String[] args) throws IOException {
systemInToFile();
FileToSystemOut();
}

public static void systemInToFile() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\1.txt")));

String line = null;
while ((line = bufferedReader.readLine()) != null) {
if ("Done".equals(line)) {
break;
}
bufferedWriter.write(line);
bufferedWriter.newLine();
bufferedWriter.flush();
}
}

public static void FileToSystemOut() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader("D:\\1.txt"));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));

String line = null;
while ((line = bufferedReader.readLine()) != null) {
if ("Done".equals(line)) {
break;
}
bufferedWriter.write(line);
bufferedWriter.newLine();
bufferedWriter.flush();
}
}
}

本文标题:面试题-控制台输入内容后持久化到文件中

文章作者:ProYI

发布时间:2019年04月01日 - 17:04

最后更新:2022年09月14日 - 11:09

原始链接:https://ProYI.github.io/post/22ee37bc.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际转载请保留原文链接及作者。

0%
;