In this tutorial, you will learn how to read a file as list of strings in Java, using readAllLines() method of java.nio.file.Files class.

Java – Read file as List of strings

To read a file as List of strings in Java,

  1. Given a file path, create a Path object, say filePath.
  2. Pass the filePath as argument to the readAllLines() method of java.nio.file.Files class.
  3. readAllLines() method returns the content in the file as a List<String> object. Store this List<String> object in a variable, say lines.
  4. Now, you may use a Java For loop to iterate each of the line in this lines object.

1. Read the file “data.txt” as List of strings in Java

In the following program, we take a file path "/Users/tutorialkart/data.txt", read the content of this file as List of strings, and print the lines to standard output.

In the program,

  1. Given a file path filePath as String.
</>
Copy
String filePath = "/Users/tutorialkart/data.txt";
  1. Create an instance of Path object path with the given filePath.
</>
Copy
Path path = Paths.get(filePath);
  1. Call Files.readAllLines() method and pass the path object as argument to it. The method returns the lines in the file as a List of strings. Store the list in a variable lines.
</>
Copy
List<String> lines = Files.readAllLines(path);
  1. Use a For loop to iterate over the List of strings, lines.
</>
Copy
for (int i=0; i < lines.size(); i++) {
    System.out.println("Line " + (i+1) + " : " + lines.get(i));
}

The following is the complete Java program, to read the file as List of strings, and print the lines to output.

Java Program

</>
Copy
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        String filePath = "/Users/tutorialkart/data.txt";

        try {
            // Prepare file path object
            Path path = Paths.get(filePath);
            
            // Read lines in file as a list of strings
            List<String> lines = Files.readAllLines(path);

            // Iterate over lines, and print to output
            for (int i=0; i < lines.size(); i++) {
                System.out.println("Line " + (i+1) + " : " + lines.get(i));
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Output

Line 1 : Apple is red.
Line 2 : Banana is yellow.
Line 3 : Cherry is red.

Conclusion

In this Java File Operations tutorial, we learned how to read the file as List of strings using java.nio.file.Files.readAllLines() method, with examples.