我找不到解决问题的方法。但我有一个简单的案例 -
但问题是 - 我需要在线程执行期间保持打开所有文件,并在所有线程结束时关闭所有文件。但是当我在所有线程完成后使用FileDescriptors时 - 所有描述符都无效。我想,如果我是“刷新”输出流,而不是使用“关闭”方法 - 一切都好,但是,也许,我错了:
FileOutputStream fileOutputStream = new FileOutputStream(url, true);
fileDescriptor = fileOutputStream.getFD();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(fileOutputStream, "UTF-8"));
writer = new PrintWriter(bufferedWriter);
...
writer.flush;
但主要的问题是 - 它确实是 - 在线程结束后所有输出流都关闭了什么?并且,如果是,如何在线程之间保持打开的文件?