In this tutorial, we will create a temp directory and a file and delete them when the application terminates.
We have made use of the Files.createTempDirectory and Files.createTempFile to create a temporary directory and file respectively with a prefix and a random number that's added by the Java native logic!
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
public class JavaTempFileAndDirExample {
private static Path tempDirPath;
private static Path tempFilePath;
public static void main(String[] args) throws InterruptedException, IOException {
String pathStr = "/Users/code2care/my-projects-22/java-examples/";
Path dirPathAndName = Paths.get(pathStr);
try {
//Step 1: Create Temp Directory
tempDirPath = Files.createTempDirectory(dirPathAndName, "temp_");
System.out.println("Temp Directory created: " + tempDirPath);
//Step 2: Create Temp File
tempFilePath = Files.createTempFile(tempDirPath, "temp_file_", ".txt");
System.out.println("Temp File created: " + tempFilePath);
//Step 3: Write some text to file
Files.write(tempFilePath, "Hello".getBytes(), StandardOpenOption.APPEND);
//Step 4: Do some logic!
Thread.sleep(5000);
//Step 5: Delete temp file
Files.delete(tempFilePath);
System.out.println("Temp file deleted..");
//Step 6: Delete temp directory
Files.delete(tempDirPath);
System.out.println("Work done deleting temp dir:" + tempDirPath);
} catch (IOException e) {
System.out.println("Error occurred while creating Directories!...");
e.printStackTrace();
}
}
}
Output:
Temp Directory created: /Users/code2care/my-projects-22/java-examples/temp_732237094777468206
Temp File created: /Users/code2care/my-projects-22/java-examples/temp_7322370947774682067/temp_file_5923746658607316240.txt
Temp file deleted..
Work done deleting temp dir:/Users/code2care/my-projects-22/java-examples/temp_7322370947774682067
This logic can be extended to create multiple temporary files and directories. Make sure to delete all the files within the directory before you delete the directory or else you will get SecurityException.
Facing issues? Have Questions? Post them here! I am happy to answer!
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
- Get the current timestamp in Java
- Java Stream with Multiple Filters Example
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Fix: UnsupportedClassVersionError: Unsupported major.minor version 63.0
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- 7 deadly java.lang.OutOfMemoryError in Java Programming
- How to Calculate the SHA Hash Value of a File in Java
- Java JDBC Connection with Database using SSL (https) URL
- How to Add/Subtract Days to the Current Date in Java
- Create Nested Directories using Java Code
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- What is CA FE BA BE 00 00 00 3D in Java Class Bytecode
- Save Java Object as JSON file using Jackson Library
- Adding Custom ASCII Text Banner in Spring Boot Application
- [Fix] Java: Type argument cannot be of primitive type generics
- List of New Features in Java 11 (JEPs)
- Java: How to Add two Maps with example
- Java JDBC Transition Management using PreparedStatement Examples
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot
- Java 8 java.util.Function and BiFunction Examples
- The Motivation Behind Generics in Java Programming
- Get Current Local Date and Time using Java 8 DateTime API
- Java: Convert Char to ASCII
- Deep Dive: Why avoid java.util.Date and Calendar Classes
- Python: Fix - TypeError: NoneType object is not iterable - Python
- [Solution] macOS Big Sur Installation: There is not enough free space, Additional Space Required - MacOS
- Java 8 Steam API peek() method with Example - Java
- [Soluiton] You already have the latest version of Android Studio installed - Android
- How to Stream Photos and Videos iPhone to your TV - iOS
- [Error] There was an error connecting to the apple id server - HowTos
- Fix: zsh: command not found: mysql (Mac XAMPP) - zsh
- How to start or open a new bourne-again shell (bash) session on Windows using Command Line CMD - Bash