On Mon, Nov 15, 2004 at 03:39:01PM -0600, Filip Hanik - Dev wrote: > this was not the case when using a java.io.FileOutputStream(), so I assume > you tried and verified this :)
You are confused. It _is_ the case with FileOutputStream. The only way it could be otherwise is if the output stream re-opens the file, either on every write, or when it notices that the file name no longer refers to the same file. Create aa.java with this code: import java.io.*; public class aa { public static void main(String[] args) throws Exception { FileOutputStream f = new FileOutputStream(args[0]); f.write(80); f.flush(); synchronized(f) { f.wait(5 * 1000); } f.write(81); f.flush(); } } And run this: java aa foo & mv foo bar Notice that the output of the second write (which occurs after the file is renamed) is in the original file (bar), not in a new foo. eric --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]