почему только 1 исходный файл Java может записать в тот же файл? - PullRequest
1 голос
/ 06 апреля 2011

В моем StockTransaction.java это запускается первым

try{
        FileOutputStream fos = new FileOutputStream("C:"+File.separatorChar+"transactions.dat"); 
        OutputStreamWriter osw = new OutputStreamWriter(fos); 
        BufferedWriter writer = new BufferedWriter(osw); 
        writer.append(aStockTransaction.toString()); 
        writer.append("******This Transaction ends Here.*****");
        writer.flush(); 
        writer.close();}

Тогда в моем brokerageAccount.java это выполняется в последний раз

try {   
                    FileOutputStream fos = new FileOutputStream("C:"+File.separatorChar+"transactions.dat"); 

        OutputStreamWriter osw = new OutputStreamWriter(fos); 
        BufferedWriter writer = new BufferedWriter(osw); 
        writer.append(brokerageAcc1.toString()); 
        writer.append("******This is end of File*****");
        writer.flush(); 
        writer.close();
        //System.out.println(brokerageAcc1.toString());

} 

Я тестировал System.out.println на консоли, вывод в порядке. Но в конечном файле отображается только brokerAcc1.toString (), ничего для aStockTransaction.toString (). Зачем? Как это решить? Заранее спасибо!

1 Ответ

9 голосов
/ 06 апреля 2011

Вам необходимо использовать FileOutputStream(filename, true) для добавления к существующему файлу.

...