这是一道命令式编程题目,练习操作io和文件。 编写程序实现从键盘输入数据,保存到指定文件里。使用java.io.FileNotFoundException、java.util.Scanner、java.io.PrintWriter类,用PrintWriter打开io,用read.nextLine读取行,输入 :q 才结束输入,随后关闭读和写的io,退出程序。
时间: 2024-03-02 08:52:50 浏览: 78
好的,这是一道Java的编程题目,以下是实现代码:
```java
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
PrintWriter printWriter = null;
try {
printWriter = new PrintWriter(new FileOutputStream(new File("output.txt")));
} catch (FileNotFoundException e) {
System.out.println("File not found");
System.exit(0);
}
String input;
while (true) {
input = scanner.nextLine();
if (input.equals(":q")) {
break;
}
printWriter.println(input);
}
scanner.close();
printWriter.close();
}
}
```
这个程序的功能是从键盘输入数据,保存到指定文件里。程序会持续向文件中写入输入的内容,直到输入 ":q" 时结束。程序结束前,需要关闭读和写的io,退出程序。
首先,我们需要导入必要的类,包括 java.io.* 和 java.util.Scanner。
接着,在主函数中,我们创建一个 Scanner 对象,用来读取键盘输入的数据,并创建一个 PrintWriter 对象,用来写入数据到文件中。
在创建 PrintWriter 对象时,我们使用了 FileOutputStream 和 File 类来指定输出文件的路径和名称。如果文件不存在,程序会输出 "File not found" 并退出。
接下来,我们使用 while 循环来不断读取键盘输入的数据,如果输入的内容为 ":q",则跳出循环,结束输入过程。
在循环中,我们将每次读取到的数据使用 println 方法写入到文件中。
最后,我们在程序结束前,关闭 Scanner 和 PrintWriter 对象,释放资源,退出程序。
阅读全文