How to read a txt file in Java?

Reading text files is a fundamental task in programming, and Java provides a straightforward way to do so. In this article, we will explore the steps to read a text file in Java.

Reading a Text File in Java

A text file is a file that contains plain text, such as a message or a message from a file. Java allows us to read a text file using the BufferedReader class, which reads a file line by line.

Creating a Text File

Before we can read a text file, we need to create it first. Here’s an example of how to create a text file:

public class TextFileExample {
public static void main(String[] args) {
// Create a new text file
File file = new File("example.txt");
try {
// Create the file if it doesn't exist
if (!file.exists()) {
file.createNewFile();
}
} catch (IOException e) {
System.out.println("Error creating file: " + e.getMessage());
}
}
}

Reading a Text File

Once we have created a text file, we can use the BufferedReader class to read it. Here’s an example:

public class TextFileExample {
public static void main(String[] args) {
// Create a new text file
File file = new File("example.txt");
try {
// Create the file if it doesn't exist
if (!file.exists()) {
file.createNewFile();
}

// Open the file in read mode
BufferedReader reader = new BufferedReader(new FileReader(file));

// Read the file line by line
String line;
while ((line = reader.readLine())!= null) {
System.out.println(line);
}

// Close the reader
reader.close();
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
}
}
}

Note: In the above example, we’re using FileReader to read the file. This class throws an IOException if the file cannot be read. We need to catch this exception and print an error message.

Example Output

If we create a file called example.txt with the following contents:

Hello World!
This is a test file.

Running the above code will print the contents of the file line by line:

Hello World!
This is a test file.

Reading a Text File with Encoding

Java can read text files with encoding, which is the way a character is represented on a computer. By default, Java uses the default encoding of the operating system. Here’s an example:

public class TextFileExample {
public static void main(String[] args) {
// Create a new text file with UTF-8 encoding
File file = new File("example.txt");
try {
// Create the file if it doesn't exist
if (!file.exists()) {
file.createNewFile();
}

// Open the file in read mode with UTF-8 encoding
BufferedReader reader = new BufferedReader(new InputStreamReader(new File("example.txt").getInputStream(), StandardCharsets.UTF_8));

// Read the file line by line
String line;
while ((line = reader.readLine())!= null) {
System.out.println(line);
}

// Close the reader
reader.close();
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
}
}
}

Note: In the above example, we’re using the StandardCharsets.UTF_8 constant to specify the encoding. This means that the file will be read using the UTF-8 encoding scheme.

Tips and Variations

Here are some additional tips and variations to read a text file in Java:

  • Reading a text file with a specific encoding: You can specify a custom encoding using the StandardCharsets class. For example:
    BufferedReader reader = new BufferedReader(new InputStreamReader(new File("example.txt").getInputStream(), StandardCharsets.ISO_8859_1));
  • Reading a text file line by line: Instead of reading the entire file into memory, you can use a BufferedReader that reads lines one by one. For example:
    BufferedReader reader = new BufferedReader(new InputStreamReader(new File("example.txt").getInputStream()));
    String line;
    while ((line = reader.readLine())!= null) {
    System.out.println(line);
    }
  • Reading a text file with a specific character set: You can use a specific character set by specifying the Character class. For example:
    BufferedReader reader = new BufferedReader(new InputStreamReader(new File("example.txt").getInputStream(), "UTF-8"));

    In conclusion, reading a text file in Java is a straightforward process. By understanding how to create a text file, read it line by line, and specify the encoding, you can easily perform various tasks with text files.

Unlock the Future: Watch Our Essential Tech Videos!


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top