创建两个不同的文件用于读写是个好主意吗?

Is it good idea to create two different files for reading and writing?

我正在构建一个基本的银行应用程序,尽管 java 语言的使用是中级水平。 在那里我经常使用文件输入和输出。一路上,我脑海中浮现出一些关于 java.

中的 file-i/o 的问题

1) 如果我创建两个不同的文本文件来写入和读取对象会怎样?这有什么区别吗?

2) 指定路径(或给出文件名)如何,如果我使用 // 而不是 \ 呢?

3) 在我的特定情况下,我是否需要像这样创建一个新的文件对象:File file=new File("C://Users//Documents//NetBeansProjects//BankFile_assignment.txt");

最后但同样重要的是,如果你想知道我的 file-i/o class:

    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 .