Exporter des données dans un fichier CSV en Java

Dans ce tutoriel nous allons découvrir comment écrire ou exporter des données dans un fichier CSV en Java.

Un fichier CSV (Comma-Separated Values) n’est qu’un fichier texte normal, qui stocke les données colonne par colonne et divise-le par des séparateurs (virgules).
 
 

Exemple: La classe Book

La classe Book contient les détails des livres tels que le titre, l’auteur, l’année de publication.

class Book
{
    public String title;
    public String author;
    public int year;
    
    public Book(String title,String author,int year)
    {   this.title=title;
        this.author=author;
        this.year=year;
    }
    public String getTitle()
    {
        return title;
    }
     public String getAuthor()
    {
        return author;
    }
    public int getYear()
    {
        return year;
    }
    public void setTitle(String title)
    {
        this.title=title;
    }
     public void setAuthor(String author)
    {
       this.author=author;
    }
    public void setYear(int year)
    {
        this.year=year;
    }
    @Override
    public String toString() {
        return "Book [title="+title+", author="+author+", year="+year+"]";
    }
}

 
 

Écrire dans le fichier CSV

Nous allons utiliser la classe FileWriter pour exporter notre objet Book vers « Book.csv ».

import java.io.*;
import java.util.*;

public class Main 
{
	//Délimiteurs qui doivent être dans le fichier CSV
	private static final String DELIMITER = ",";
    private static final String SEPARATOR = "\n";
    
    //En-tête de fichier
    private static final String HEADER = "Title,Author,Year";
    
    public static void main(String args[])
    {
    	//Création des objets
    	Book book1 = new Book("Darkness to Light", "Lamar Odam", 1992);
    	Book book2 = new Book("We Are Displaced", "Malala Yousafzai", 1981);
    	Book book3 = new Book("I Am Malala", "Christina Lamb", 1978);
    	Book book4 = new Book("Girl Women", "Satyarth Nayak", 1966);
    	Book book5 = new Book("Forgotten Past", "Peter Baker", 1971);

    	//Ajouter les objets à la liste
    	List bookList = new ArrayList();
    	bookList.add(book1);
    	bookList.add(book2);
    	bookList.add(book3);
    	bookList.add(book4);
    	bookList.add(book5);
    	
    	FileWriter file = null;
    	
    	try
    	{
    		file = new FileWriter("Book.csv");
    		//Ajouter l'en-tête
    		file.append(HEADER);
    		//Ajouter une nouvelle ligne après l'en-tête
    		file.append(SEPARATOR);
    		//Itérer bookList
    		Iterator it = bookList.iterator();
    		while(it.hasNext())
    		{
    			Book b = (Book)it.next();
    			file.append(b.getTitle());
    			file.append(DELIMITER);
    			file.append(b.getAuthor());
    			file.append(DELIMITER);
    			file.append(String.valueOf(b.getYear()));
    			file.append(SEPARATOR);
    		}
			
    		file.close();
    	}
    	catch(Exception e)
    	{
    		e.printStackTrace();
    	}
    }
}

Sortie dans le fichier « Book.csv »:

Title,Author,Year
Darkness to Light,Lamar Odam,1992
We Are Displaced,Malala Yousafzai,1981
I Am Malala,Christina Lamb,1978
Girl Women,Satyarth Nayak,1966
Forgotten Past,Peter Baker,1971

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *