Thursday, May 9, 2024
HomeJavaLearn how to learn CSV file in Java with out utilizing a...

Learn how to learn CSV file in Java with out utilizing a third-party library? FileReader Instance Tutorial


Good day guys, as you be taught Java, one factor that comes up early and sometimes is studying from/ writing to recordsdata, and doing one thing helpful with that information. That is additionally one factor which you’ll hold doing and in addition forgetting very quickly, in case you are not then you may have good reminiscence as I at all times overlook it after which I do google search to seek out my very own articles. In case you learn this weblog then that previously, I’ve shared methods to load CSV file utilizing OpenCSV library as properly methods to load a CSV file with header utilizing Jackson however loads of you requested me how to do that with out utilizing any third celebration library like Jackson or OpenCSV. So, I believed to jot down about this text and I truly written however forgot to publish it for a very long time. However I at present I discovered it and publishing it now, it nonetheless works properly. 

On this Java CSV Reader instance we are going to:

  • Learn information from a CSV textual content file.
  • Parse that information into a number of completely different information varieties.
  • Load the info into an object.
  • Load these objects into an ArrayList.
  • Show them and do a easy calculation.

Information for a program is usually saved in several types of file codecs, with one of many easiest being CSV, a format utilizing .txt recordsdata the place every information merchandise is just separated by commas and placed on completely different strains.

Learn how to parse a CSV file with out utilizing any third celebration library in Java like OpenCSV

Now, let’s have a look at methods to learn a  CSV file in Java however earlier than that right here we’ve a pattern stock file, with the info within the order merchandise, amount, value

individuals.txt
Robin,31,NewYork
Tim,32,Paris
Stuwart,33,London
Craig,34,Tokyo

you’ll be able to see that the file would not have a header but when it does, you want to ignore the header, the primary line. 

How to read CSV file in Java without using a third-party library? FileReader Example Tutorial

We are going to first create a Particular person class in Java to signify every line in CSV file.

class Particular person {
    personal String title;
    personal int age;
    personal String metropolis;

    public Particular person(String title, int age, String metropolis) {
        tremendous();
        this.title = title;
        this.age = age;
        this.metropolis = metropolis;
    }

    public String getName() {
        return title;
    }

    public int getAge() {
        return age;
    }

    public String getCity() {
        return metropolis;
    }

    @Override
    public String toString() {
        return "Particular person [name=" + name + ", age=" + age + ", city=" + city + "]";
    }

}

 

Studying the CSV File

To learn the file we’re going to be utilizing a BufferedReader together with a FileReader.

We are going to learn one line at a time from the file utilizing readLine() till the Finish Of File is reached (readLine will return a null)

String.break up()

We take the string that we learn and break up it up utilizing the comma because the ‘delimiter’ (the character that tells the operate when to start out a brand new phrase and is discarded). This creates an array with the info we wish, nonetheless nonetheless in Strings, so we have to convert the values that aren’t purported to be strings into the correct values, utilizing Integer.parseInt() and Float.parseFloat()

We cross these values to the constructor for our Stock object, after which merely add that object to our ArrayList.

The complete program: (save in identical listing as others as FileFunctions.java)

Pattern Code 

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Record;


public class CSVReader {

    public static void important(String... args) {
        Record<Particular person> individuals = load("individuals.txt");
        
        
        for(Particular person p: individuals){
            System.out.println(p);
        }
    }

    
    public static Record<Particular person> load(String path) {
        
        Record<Particular person> individuals = new ArrayList<>();
        attempt {
            
            BufferedReader br = new BufferedReader(
                    new FileReader("individuals.txt"));

            
            String line = br.readLine();

            
            whereas (line != null) {

                
                String[] fields = line.break up(",");

                
                String title = fields[0];
                int age = Integer.parseInt(fields[1]);
                String metropolis = fields[2];

                
                Particular person temp = new Particular person(title, age, metropolis);

                
                individuals.add(temp);

                
                
                
                line = br.readLine();
            }

            
            br.shut();
            
        } catch (FileNotFoundException fe) {
            System.out.println("file : " + path + " not discovered");
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }

        return individuals;
    }

}

Output

Particular person [name=Robin, age=31, city=NewYork]

Particular person [name=Tim, age=32, city=Paris]

Particular person [name=Stuwart, age=33, city=London]

Particular person [name=Craig, age=34, city=Tokyo]

You’ll be able to see that how straightforward it’s to learn a CSV File in Java. It is no completely different than studying a textual content file when you use BufferedReader and FileReader accurately. However do not forget to shut the file readers, you can even use try-with-resource in order that they are going to be routinely closed as soon as you’re performed with it. 

That is all about methods to learn CSV file in Java. In case you ever want have to parse CSV file with out utilizing any third celebration library then you should use this resolution and code. It is quite simple, simply learn the CSV file line by line utilizing FileReader and BufferedReader. It is very nice and simple and you can even save on dependency administration. 

Different Java File tutorials it’s possible you’ll like

  • Learn how to examine if a File is hidden in Java? (resolution)
  • Learn how to learn JSON File in Java? (resolution)
  • Learn how to learn an XML file in Java? (information)
  • Learn how to learn an Excel file in Java? (information)
  • Learn how to learn an XML file as String in Java? (instance)
  • Learn how to copy non-empty directories in Java? (instance)
  • Learn how to learn/write from/to RandomAccessFile in Java? (tutorial)
  • Learn how to append textual content to a File in Java? (resolution)
  • Learn how to learn a ZIP file in Java? (tutorial)
  • Learn how to learn from a Reminiscence Mapped file in Java? (instance)
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments