当您同时打开两个(或多个)FileOutputStreams 的相同文件会发生什么?
Java API 表示如下:
有些平台特别是允许一个文件同时只被一个 FileOutputStream(或其他文件写入对象)打开进行写入。
我猜Windows不是这样的平台,因为我有两个线程读取一些大文件(每个线程读取不同的文件),然后将它们写入同一个输出文件。 没有抛出异常,文件已经创建,并且似乎包含来自两个输入文件的块。
附加问题:
- Unix也是这样吗?
- 既然我想要行为相同(实际上我想要一个线程正确地写入,另一个线程被警告存在冲突),那么如何确定文件已经被打开进行写入?