почему только 1 исходный файл Java может выполнять запись в один и тот же файл?

#java #file #writer

#java #файл #запись

Вопрос:

В моем 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:

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