devxlogo

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.

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Five Early Architecture Decisions That Quietly Get Expensive

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.