编写程序,要求:用户在键盘每输入一行文本,程序将这段文本显示在控制台中。当用户输入的一行文本是“exit”(不区分大小写)时,程序将用户所有输入的文本都写入到文件log.txt中,并退出。(要求:控制台输入通过流封装System.in获取,不要使用Scanner)
时间: 2024-03-26 08:38:50 浏览: 65
java中键盘输入 的各种实现方式
4星 · 用户满意度95%
下面是 Java 代码实现:
```java
import java.io.*;
public class LogWriter {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
StringBuilder sb = new StringBuilder();
try (FileWriter writer = new FileWriter("log.txt")) {
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
System.out.println(line);
if (line.equalsIgnoreCase("exit")) {
writer.write(sb.toString());
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
程序首先创建一个 `BufferedReader` 对象,用于从控制台读取用户输入的文本。然后创建一个 `StringBuilder` 对象,用于保存用户输入的所有文本。接下来进入循环,每次读取一行文本并将其追加到 `StringBuilder` 对象中,并在控制台输出该行文本。如果用户输入的文本是“exit”(不区分大小写),则将保存的所有文本写入到文件“log.txt”中并退出程序。在写文件时使用了 try-with-resources 语句,可以自动关闭文件输出流并释放资源。
阅读全文