java记账本源码io流
时间: 2023-09-25 15:16:40 浏览: 56
以下是一个简单的Java记账本的源码,其中包含了IO流的使用:
```java
import java.io.*;
import java.util.Scanner;
public class AccountBook {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取文件中保存的账目信息
File file = new File("account.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
FileReader fileReader = null;
BufferedReader bufferedReader = null;
String line;
try {
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufferedReader != null)
bufferedReader.close();
if (fileReader != null)
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 添加账目信息并保存到文件中
System.out.println("请输入账目信息:");
String content = scanner.nextLine();
FileWriter fileWriter = null;
BufferedWriter bufferedWriter = null;
try {
fileWriter = new FileWriter(file, true);
bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write(content);
bufferedWriter.newLine();
bufferedWriter.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufferedWriter != null)
bufferedWriter.close();
if (fileWriter != null)
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
在这个程序中,我们首先创建了一个文件对象,用于保存账目信息。如果该文件不存在,则创建一个新文件。然后,我们使用FileReader和BufferedReader来读取该文件中的内容,并将其输出到控制台上。
接着,我们使用Scanner从用户输入中获取账目信息,并使用FileWriter和BufferedWriter将其写入到文件中。
最后,我们在finally块中关闭了所有的IO流。这是一个很好的习惯,可以避免资源泄漏和内存泄漏等问题。