Tuesday, May 4, 2021

Java 8 – How To Read A File?

Java 8, Core Java, Oracle Java Tutorial and Material, Oracle Java Career, Oracle Java Preparation, Oracle Java Certification

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.

Read More: 1Z0-900: Java EE 7 Application Developer

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:

package com.oraclejavacertified.files.read;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

/**

 * Example to read the file in java

 * 

 * @author oraclejavacertified.blogspot.com

 *

 */

public class ReadFileBeforeJava8 {

    public static void main(String[] args) throws IOException {

        String fileLocation = "/Users/workspace/CoreJava/src/main/java/com/oraclejavacertified/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:

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.

package com.oraclejavacertified.files.read;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

/**

 * Example to read the CSV file in java

 * 

 * @author oraclejavacertified.blogspot.com

 *

 */

public class ReadCSVFileBeforeJava8 {

    public static void main(String[] args) throws IOException {

        String fileLocation = "/Users/workspace/CoreJava/src/main/java/com/oraclejavacertified/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:

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.

package com.oraclejavacertified.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 oraclejavacertified.blogspot.com

 *

 */

public class Java8ReadFileExample1 {

    public static void main(String[] args) {

        Path filePath = Path.of(

                "/Users/workspace/CoreJava/src/main/java/com/oraclejavacertified/files/read/student.csv");

        Stream<String> stream = null;

        try {

            stream = Files.lines(filePath);

        } catch (IOException e) {

            e.printStackTrace();

        }

        stream.forEach(System.out::println);

    }

}

Output:

student id,name,age

100,Jhon,30

101,Shella,35

102,Dhon,40

5. Java 8 Streams + BufferedReader.lines()

Java 8, Core Java, Oracle Java Tutorial and Material, Oracle Java Career, Oracle Java Preparation, Oracle Java Certification
Finally, learn another new method of java 8 api is BufferedReader.lines() method which returns the Stream<String>.

package com.oraclejavacertified.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 oraclejavacertified.blogspot.com

 *

 */

public class Java8ReadFileExample2 {

    public static void main(String[] args) throws IOException {

        Path filePath = Path.of(

                "/Users/workspace/CoreJava/src/main/java/com/oraclejavacertified/files/read/student.csv");

        BufferedReader br = Files.newBufferedReader(filePath);

        List<String> list = br.lines().collect(Collectors.toList());

        list.forEach(System.out::println);

    }

}

Source: javacodegeeks.com

Related Posts

0 comments:

Post a Comment