Java File Handling
Java File Handling
Java provides a robust set of classes in the java.io and java.nio packages for handling files. File handling in Java allows developers to create, read, write, and delete files or directories. It is essential for applications that require persistent data storage or manipulation of data stored in files.
Key Concepts of File Handling in Java
-
File Creation
- You can create new files using the
Fileclass or theFilesutility.
- You can create new files using the
-
Reading Files
- Reading file content involves classes like
FileReader,BufferedReader, andScanner.
- Reading file content involves classes like
-
Writing to Files
- For writing data to files, you can use
FileWriter,BufferedWriter, orPrintWriter.
- For writing data to files, you can use
-
Deleting Files
- Files can be deleted using the
Fileclass's methods.
- Files can be deleted using the
-
Checking File Properties
- The
Fileclass provides methods to check file existence, size, read/write permissions, and more.
- The
Steps in File Handling
1. File Creation
To create a file, you use the File class's createNewFile() method.
Syntax:
File file = new File("filename.txt");
if (file.createNewFile()) {
System.out.println("File created: " + file.getName());
} else {
System.out.println("File already exists.");
}
Example:
// Define a class named Car
import java.io.File;
import java.io.IOException;
public class FileCreationExample {
public static void main(String[] args) {
try {
File file = new File("example.txt");
if (file.createNewFile()) {
System.out.println("File created: " + file.getName());
} else {
System.out.println("File already exists.");
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
2. Writing to a File
Use the FileWriter class for writing to a file.
Syntax:
FileWriter writer = new FileWriter("filename.txt");
writer.write("Your text here.");
writer.close();
Example:
// Define a class named Car
import java.io.FileWriter;
import java.io.IOException;
public class FileWriteExample {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("example.txt");
writer.write("Hello, this is a file handling example in Java.");
writer.close();
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
3. Reading a File
Use the Scanner or BufferedReader class to read file content.
Syntax (Using Scanner):
Scanner scanner = new Scanner(new File("filename.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
Example:
// Define a class named Car
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileReadExample {
public static void main(String[] args) {
try {
File file = new File("example.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String data = scanner.nextLine();
System.out.println(data);
}
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
4. Deleting a File
You can delete files using the delete() method in the File class.
Syntax:
File file = new File("filename.txt");
if (file.delete()) {
System.out.println("File deleted: " + file.getName());
} else {
System.out.println("Failed to delete the file.");
}
Example:
// Define a class named Car
import java.io.File;
public class FileDeleteExample {
public static void main(String[] args) {
File file = new File("example.txt");
if (file.delete()) {
System.out.println("Deleted the file: " + file.getName());
} else {
System.out.println("Failed to delete the file.");
}
}
}
Additional Utilities
-
File Properties:
exists()– Checks if the file exists.isDirectory()– Checks if it's a directory.canRead()– Checks read permission.canWrite()– Checks write permission.length()– Returns the file size.
Example:
// Define a class named Car
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileReadExample {
public static void main(String[] args) {
try {
File file = new File("example.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String data = scanner.nextLine();
System.out.println(data);
}
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
-
Working with Directories:
- Create directories using
mkdir()ormkdirs(). - List directory contents using
list()orlistFiles().
- Create directories using
Example:
// Define a class named Car
import java.io.File;
public class DirectoryExample {
public static void main(String[] args) {
File dir = new File("exampleDir");
if (dir.mkdir()) {
System.out.println("Directory created.");
} else {
System.out.println("Directory already exists.");
}
String[] files = dir.list();
if (files != null) {
for (String fileName : files) {
System.out.println(fileName);
}
}
}
}
Best Practices
- Always close file streams (
close()). - Use
try-with-resourcesfor automatic resource management. - Handle exceptions effectively to ensure program stability.
- Check file paths and ensure they are valid before performing operations.
By mastering file handling in Java, you can efficiently manage data in files, enabling you to build feature-rich applications.
Prefer Learning by Watching?
Watch these YouTube tutorials to understand JAVA Tutorial visually:
What You'll Learn:
- 📌 File handling in Java - Java tutorial - w3Schools - Chapter 51 English
- 📌 File Handling in Java | Reading and Writing File in Java | Java Training | Edureka