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,
- Java equals method - Tutorial
- Unbound classpath container: JRE System Library [JavaSE-1.7]
- Spring Boot: @RequestBody not applicable to method
- Java 8: Steam map with Code Examples
- Java Program: Random Number Generator
- Java java.time.Clock class code examples [Java Date Time API]
- Fix: type argument is not within bounds of type-variable T
- [Fix] java.net.MalformedURLException: unknown protocol
- Java 7 addSuppression() and getSuppression() Exception Handling
- Convert Java Array to ArrayList Code Example
- How to Word-Warp Console logs in IntelliJ
- Ways Compare Dates in Java Programming with Examples
- Remove Trailing zeros BigDecimal Java
- CRUD operations in Spring Boot + JDBC
- [Java Threads] Should we extend Thread Class or implement Runnable interface
- Json Serialization and Deserialization using Java Jackson
- Create simple struts2 project using maven commands
- How to install Java OpenJDK 11 on Alpine Linux
- Unsupported major.minor version 52.0 in java
- Error: Can not find the tag library descriptor for
- Java: Convert String to Binary
- How to run Java Unit Test cases with Apache Maven?
- Java: Testing Private Methods in JUnit using reflection API Example
- Java JDBC Connection with MySQL Driver in VS Code + Troubleshooting
- Java Join Strings with Comma Separator
More Posts:
- How to install SpaCy (NLP Library) on Mac - Python
- fix fatal: --local can only be used inside a git repository error - Git
- Check Bluetooth is turned on or off on Android device programmatically [Java Code] - Android
- Center align text in TextView Android Programming - Android
- [Android] RuntimeException: Unable to start activity Need BLUETOOTH permission - Android
- Fix - Error:Invalid Gradle JDK configuration found (Android Studio) - Gradle
- SDK Manager: failed to install : Android Studio on Windows - Android-Studio
- The Date Command and its usage [Linux - Unix - macOS] - Linux