Apakah ide bagus membuat dua file berbeda untuk membaca dan menulis?

Saya sedang membangun aplikasi bank dasar, meskipun penggunaan bahasa java tingkat menengah. Di sana saya banyak menggunakan input dan output file. Sepanjang jalan beberapa pertanyaan muncul di benak saya tentang file-i/o di java.

1) Bagaimana jika saya membuat dua file teks berbeda untuk objek menulis dan membaca? Apakah ada bedanya?

2) Bagaimana dengan jalur yang ditentukan (atau memberi nama file), bagaimana jika saya menggunakan // dan bukan \\?

3) Apakah saya perlu membuat objek file baru seperti ini: File file=new File("C://Users//Documents//NetBeansProjects//BankFile_assignment.txt"); dalam kasus khusus saya?

Terakhir, jika Anda bertanya-tanya tentang kelas file-i/o saya:

    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;

    }
}

person Munira    schedule 02.05.2015    source sumber
comment
Itu tergantung. Jika Anda mengizinkan program Anda membaca dan menulis secara bersamaan, itu mungkin akan menjadi solusi yang buruk dengan satu file(stackoverflow.com/questions/2751734/) Pernahkah Anda berpikir untuk menggunakan Database? Menggunakan MySQL menurut saya selalu lebih mudah daripada menggunakan file untuk menyimpan data Anda.   -  person Fabian Lurz    schedule 02.05.2015


Jawaban (1)


1) Cara yang lebih baik adalah dengan menggunakan database (mySQL, SQLite,...) untuk mengakses semua data Anda dengan mudah tanpa kekhawatiran I/O.

2) Jika aplikasi Anda mungkin bekerja pada Sistem Operasi yang berbeda, cara aman untuk menghindari masalah dengan simbol sistem tertentu ( \ pada Windows, / pada Unix, Mac) adalah dengan menggunakan File.separator misalnya. Lebih lanjut tentang subjek ini .

3) Ini harus bekerja pada Windows, tetapi gagal pada Unix. Anda dapat menggunakan (dengan adaptasi untuk jalur) ini sebagai ganti: File file = new File(System.getProperty("user.home")+ File.separator + BankFile_assignment.txt); Lihat ini .

person Drimux    schedule 02.05.2015