How can a unique filename be constructed that guarantees that it will be unique across processes?
There is unfortunately no Java 1.1 analog to the POSIX
tmpnam() C function, which generates a unique filename, or
tmpfile(), which creates a new file with a uniquefilename. But Java 1.2 has added this functionality by adding the
createTempFile static method to the
java.io.File class. This method will create a new file with a unique name based upon a base pattern. During any given run of an application,
createTempFile will never create the same filename twice. If for some reason it cannot create a file that didnot previously exist,
createTempFile will throw an
IOException. I cannot conceive of a bulletproof way of implementing this functionality in Java 1.1 using 100% Java code. In fact, Java 1.2’s
createTempFile relies on native code to implement the method.