【发布时间】:2015-07-12 03:10:25
【问题描述】:
我正在构建一个基本的银行应用程序,尽管 Java 语言的使用处于中级水平。
我在那里使用了很多文件输入和输出。在此过程中,我脑海中出现了一些关于 java 中的 file-i/o 的问题。
1) 如果我创建两个不同的文本文件来写入和读取对象会怎样?有什么区别吗?
2) 指定路径(或给出文件名)怎么样,如果我使用// 而不是\\ 呢?
3) 在我的具体情况下,我是否一定需要像这样创建一个新的文件对象:File file=new File("C://Users//Documents//NetBeansProjects//BankFile_assignment.txt");?
最后但并非最不重要的一点是,如果您想知道我的 file-i/o 类:
public class ReaderWriter {
public void writeToFile(List<BankAccount> accounts) {
try {
File file = new File("C://Users//Documents//NetBeansProjects//BankFile_assignment.txt");
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(accounts);//take the arrayList
oos.flush();
oos.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public List<BankAccount> readFromFile() {
List<BankAccount> readData = null;
try {
File file = new File("C://Users//Documents//NetBeansProjects//BankFile_assignment.txt");
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
readData = (List<BankAccount>) ois.readObject();
ois.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
return readData;
}
}
【问题讨论】:
-
这取决于。如果您允许您的程序同时读取和写入它可能是一个糟糕的解决方案(stackoverflow.com/questions/2751734/…)您是否考虑过使用数据库?在我看来,使用 MySQL 总是比使用文件存储数据更容易。
标签: java file file-io fileinputstream fileoutputstream