gpt4 book ai didi

java - 创建两个不同的文件用于读取和写入是个好主意吗?

转载 作者:行者123 更新时间:2023-12-01 11:35:52 25 4
gpt4 key购买 nike

我正在构建一个基本的银行应用程序,尽管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;

}
}

最佳答案

1) 更好的方法是使用数据库(mySQL、SQLite...)轻松访问所有数据,无需担心 I/O。

2) 如果您的应用程序可能在不同的操作系统上运行,这是一种避免系统特定符号出现任何问题的安全方法(Windows 上为 \,Unix 上为 / , Mac) 是使用 File.separator 为例。 More about this subject .

3) 它必须在 Windows 上运行,但在 Unix 上失败。您可以使用(适应路径)代替: File file = new File(System.getProperty("user.home")+ File.separator + BankFile_assignment.txt); See this .

关于java - 创建两个不同的文件用于读取和写入是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30001219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com