devxlogo

Creating a Guaranteed Unique Filename

Creating a Guaranteed Unique Filename

Question:
How can a unique filename be constructed that guarantees that it will be unique across processes?

Answer:
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 thejava.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.

devx-admin

Share the Post: