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