java从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕算法描述
时间: 2024-03-18 11:39:38 浏览: 97
从键盘输入一系列字母,将其存储到文件中,对其进行升序排序后,存到另一个文件中,并显示在屏幕上。
5星 · 资源好评率100%
好的,以下是 Java 的实现算法描述:
1. 创建一个 `Scanner` 对象用于从键盘读取输入。
2. 创建一个 `PrintWriter` 对象用于将输入的内容写入到指定文件中。
3. 循环读取键盘输入的每一行,直到遇到单独的一行 `#` 为止:
- 使用 `Scanner.nextLine()` 方法读取键盘输入的一行字符串。
- 如果读取到的字符串是 `#`,则跳出循环。
- 否则,使用 `PrintWriter.println()` 方法将该行字符串写入到指定文件中。
4. 关闭 `Scanner` 和 `PrintWriter` 对象。
5. 创建一个 `BufferedReader` 对象用于从指定文件中读取内容。
6. 循环读取文件中的每一行,直到读取到文件末尾:
- 使用 `BufferedReader.readLine()` 方法读取文件中的一行字符串。
- 如果读取到的字符串不为空,则将该行字符串输出到屏幕上。
7. 关闭 `BufferedReader` 对象。
以下是 Java 的实现代码:
```java
import java.util.Scanner;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
// 从键盘输入多行字符串,以单行“#”结束输入,存入指定文件
Scanner input = new Scanner(System.in);
PrintWriter output = new PrintWriter("input.txt");
while (true) {
String line = input.nextLine();
if (line.equals("#")) {
break;
}
output.println(line);
}
input.close();
output.close();
// 从文件中读取内容输出到屏幕
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
}
```
这段代码会先从键盘输入多行字符串,以单行“#”结束输入,然后将输入的内容写入到指定文件 input.txt 中。接着从文件中读取内容,并逐行输出到屏幕上。注意,`PrintWriter.println()` 方法会自动在每一行字符串的末尾添加一个换行符,所以在读取文件内容时不需要再去掉换行符。另外,需要注意在使用文件读写相关的类时要处理可能产生的异常,所以这里使用了 `throws IOException`。
阅读全文