java 从控制台输入多行文本,直到输入q/Q时退出,存到文件里,再读回文本文件 代码
时间: 2024-09-24 16:14:24 浏览: 33
在Java中,你可以使用Scanner类从控制台获取用户输入,并将多行文本存储到文件中,然后从文件中读取。以下是一个简单的示例:
```java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class ConsoleInputToFile {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BufferedReader reader = null;
BufferedWriter writer = null;
try {
System.out.println("请输入文字,输入q/Q退出:");
while (true) {
String line = scanner.nextLine();
if ("q".equals(line) || "Q".equals(line)) {
break;
}
// 将每行数据追加到文件
writer = new BufferedWriter(new FileWriter("input.txt", true));
writer.write(line + "\n");
writer.newLine();
writer.close(); // 关闭writer
// 读取文件,查看内容
reader = new BufferedReader(new FileReader("input.txt"));
System.out.println("已保存的内容: " + reader.readLine());
reader.close(); // 关闭reader
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
if (writer != null) {
try {
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
System.out.println("退出程序...");
}
}
```
这段代码首先创建一个Scanner对象获取用户的输入,当输入"q"或"Q"时跳出循环,接着将输入逐行写入名为"input.txt"的文件中。在每次写入之后,它还会读取并显示文件的内容,以确认信息已被保存。
阅读全文