int imgID = generateImgId();
try
{
File file = new File(getFilesDir(),CurrentPaint.listOfDoneImagesFile);
FileOutputStream fOut = openFileOutput(CurrentPaint.listOfDoneImagesFile,MODE_APPEND);
OutputStreamWriter osw = new OutputStreamWriter(fOut );
BufferedWriter bw = new BufferedWriter(osw);
bw.append((imgID+"\n") );
bw.flush();
bw.close();
osw.flush();
osw.close();
Out.flush();
Out.close();
}catch(Exception e){
System.out.println("writing to empty file: "+e.toString());e.printStackTrace(); }
mam taki kod, któy generuje błąd: IOexception stream closed
pod tym linkiem pisze że nie należy zamykać pliku po skończonej robocie, bo nie da się go otworzyć ponownie
https://coderanch.com/t/623579/java/java-io-IOException-Stream-closed
to w takim razie zawsze zostawiać wszystkie fileoutputstreamy, outputstreamwritey bufferedWritery, i analogicznie dla czytania z pliku otwarte? i dopiero przy wyłączaniu apki je zamykać, dobrze rozumiem?
funkcji czytających z pliku i zapisujących do niego mam kilka, we wszystkich usunąłem zamykanie ich, i errory znikły, ale czy to poprawny sposób na pozbycie się błędu