A CSV file is a comma-separated text file with double quotes as escape characters for a comma in a string element. In this tutorial, we will see how we can parse a CSV file using Java code example,
package com.code2care.tutorials;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
/**
*
* Java Code to process CSV file.
*
* @author Code2care Tutorials
*
*/
public class JavaArrayToArrayList {
public static void main(String[] args) throws IOException {
String csvFilePath = "C:\\Users\\Code2care\\Desktop\\file\\data.csv";
String line = null;
BufferedReader bufferedReader = null;
try {
File csvFile = new File(csvFilePath);
FileReader fileReader = new FileReader(csvFile, StandardCharsets.UTF_8);
bufferedReader = new BufferedReader(fileReader);
while ((line = bufferedReader.readLine()) != null) {
String[] csvLineElements = line.split(",");
for (int i = 0; i < csvLineElements.length; i++) {
System.out.println(csvLineElements[i]);
}
}
}
catch (IOException e) {
System.out.println("Error Occured while parsing csv file.");
e.printStackTrace();
} finally {
bufferedReader.close();
}
}
}
CSV line to be read using Java code for parsing
CSV text File:
SrNo,Name,Score
1,Mike,200
2,Alex,400
3,Steve,500
4,Alen,530
5,Kevin,108
Steps to parsing a CSV file using Java Code
- Create a String object with he absolute path of the csv file to be read,
- Create a FileReader class object, this class is used to reads text from character files using a default buffer size. Note if you are dealing with UTF-8 encoding make sure you use constructor FileReader(File file, Charset charset). Note that FileReader is meant for reading streams of characters to read streams of raw bytes you should use FileInputStream.
- Create an object of BufferedReader to read text from a character-input stream, we pass the FileReader object to its constructor.
- Now using a while loop iterate while bufferedReader.readLine() is not null.
- In the while loop, read the elements of the line by splitting the line by comma regex.
- Now you have access to each element of a CSV file.
More Posts related to Java,
- [Fix] java.time.zone.ZoneRulesException: Unknown time-zone ID
- Parse XML file in Java using DOM Parser
- Java equals method - Tutorial
- [Program] How to read three different values using Scanner in Java
- Java: The value of the local variable string is not used
- Display Output in Java Console as a Table
- How to detect Operating System using Java code
- Java 8 Streams map() with examples
- [Fix] java: incompatible types: incompatible parameter types in lambda expression error
- Add newline character Java code example (\r \n \r\n)
- List of Java Major Minor Version Numbers
- IntelliJ Keyboard Shortcut to remove unused imports [Java]
- Java - Check if array contains the value
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- How to declare and initialize Array in Java Programming
- [Solved] com.sun.xml.ws.transport.http.servlet.WSServletContextListener ClassNotFoundException
- XmlRpcException ConnectException connection refused error
- Create a Zip file using Java Code programmatically
- List of jar files for Jax-ws (SOAP) based Java Web Services
- How to fix Java HTTP java.net.UnknownHostException
- List of jars required for Struts2 project
- [fix] java: incompatible types: double cannot be converted to java.lang.Integer Generics
- Maven BUILD FAILURE: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin
- Get the current timestamp in Java
- java: unclosed string literal [Error]
More Posts:
- Display full website address in Safari macOS Browser - MacOS
- How to clear mysql console screen - MySQL
- How to see HTTP Request Response Headers in Google Chrome Browser - Chrome
- Disable Fading Edges Scroll Effect Android Views - Android
- The default interactive shell is now zsh. [macOS] - MacOS
- Fibonacci series from 1 to 500 table - Html
- Microsoft Teams adds New Conversation Button - Teams
- reCaptcha Verification expired. Check the checkbox again - Html