VOOZH about

URL: https://www.javacodegeeks.com/2021/05/java-8-how-to-read-a-file.html

⇱ Java 8 - How To Read A File? - Java Code Geeks


A quick guide on how to read the file in older java and new JDK 8 version with example programs.

1. Overview

In this tutorial, We’ll learn how to read a file line by line in java and print the files content onto console with example program.

First, let us use the older java version for example demonstration and next will learn how to do the same in the newer java 8 api.

2. Java Read File Example

First, Use BufferedReader.readLine() method to get the each line from the file.

Example:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.javaprogramto.files.read;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
 * Example to read the file in java
 *
 * @author javaprogramto.com
 *
 */
public class ReadFileBeforeJava8 {
    public static void main(String[] args) throws IOException {
        String fileLocation = "/Users/workspace/CoreJava/src/main/java/com/javaprogramto/files/read/student.txt";
        FileReader fileReader = new FileReader(fileLocation);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        String line;
        int index = 1;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println("line " + index + " : " + line);
            index++;
        }
    }
}

Output:

1
2
line 1 : student name - Java Learner
line 2 : Location - India

3. Java Example To Read CSV File

Next, Use the same concept to read the csv file in java but first line will be the csv header and the remaining lines will be holding the actual values.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.javaprogramto.files.read;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
 * Example to read the CSV file in java
 *
 * @author javaprogramto.com
 *
 */
public class ReadCSVFileBeforeJava8 {
    public static void main(String[] args) throws IOException {
        String fileLocation = "/Users/workspace/CoreJava/src/main/java/com/javaprogramto/files/read/student.csv";
        FileReader fileReader = new FileReader(fileLocation);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        String csvLine;
        int index = 1;
        String header = bufferedReader.readLine();
                 
        System.out.println("CSV header : "+header);
        while ((csvLine = bufferedReader.readLine()) != null) {
            System.out.println("csv line " + index + " : " + csvLine);
            index++;
        }
    }
}

Output:

1
2
3
4
CSV header : student id,name,age
csv line 1 : 100,Jhon,30
csv line 2 : 101,Shella,35
csv line 3 : 102,Dhon,40

4. Java 8 Streams – Read File Example – Files.readLines()

Further more, Use method Files.readLines() method to get the all the lines in the form of java 8 Stream. Next, use forEach() method to get the each line of file and print into the console.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.javaprogramto.files.read;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.stream.Stream;
/**
 * Java 8 example to read the file using Streams.
 *
 * @author javaprogramto.com
 *
 */
public class Java8ReadFileExample1 {
    public static void main(String[] args) {
        Path filePath = Path.of(
                "/Users/workspace/CoreJava/src/main/java/com/javaprogramto/files/read/student.csv");
        Stream<String> stream = null;
        try {
            stream = Files.lines(filePath);
        } catch (IOException e) {
            e.printStackTrace();
        }
        stream.forEach(System.out::println);
    }
}

Output:

1
2
3
4
student id,name,age
100,Jhon,30
101,Shella,35
102,Dhon,40

5. Java 8 Streams + BufferedReader.lines()

Finally, learn another new method of java 8 api is BufferedReader.lines() method which returns the Stream<String>.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.javaprogramto.files.read;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
/**
 * Java 8 example to read the file using Streams + BufferedReader.lines().
 *
 * @author javaprogramto.com
 *
 */
public class Java8ReadFileExample2 {
    public static void main(String[] args) throws IOException {
        Path filePath = Path.of(
                "/Users/workspace/CoreJava/src/main/java/com/javaprogramto/files/read/student.csv");
        BufferedReader br = Files.newBufferedReader(filePath);
        List<String> list = br.lines().collect(Collectors.toList());
        list.forEach(System.out::println);
    }
}

6. Conclusion

In this article, we have seen how to read the file in java 8 streams with examples.

GitHub

Java 8 Streams Tutorial

Java 8 forEach Stream collect()

Published on Java Code Geeks with permission by Venkatesh Nukala, partner at our JCG program. See the original article here: Java 8 – How To Read A File?

Opinions expressed by Java Code Geeks contributors are their own.

Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy

Thank you!

We will contact you soon.

👁 Photo of Venkatesh Nukala
Venkatesh Nukala
May 1st, 2021Last Updated: April 28th, 2021
0 2,033 3 minutes read

Venkatesh Nukala

Venkatesh Nukala is a Software Engineer working for Online Payments Industry Leading company. In my free time, I would love to spend time with family and write articles on technical blogs. More on JavaProgramTo.com
Subscribe

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Back to top button
Close
wpDiscuz