[JAVA] Bibliothèque CSV Android

S'il s'agit d'une bibliothèque Java Je pensais que tout pouvait être utilisé sur Android. Ce n'était pas le cas, alors je vais le résumer.

Open CSV

Décomposez avec une virgule pour créer un tableau de chaînes de caractères et placez-les dans l'ordre.

http://opencsv.sourceforge.net/

Un exemple de programme est ici https://github.com/ohwada/Android_Samples/tree/master/Csv1

Un fichier avec une ligne d'en-tête comme celle ci-dessous A également la possibilité de mapper sur des objets Java.

"Name","Quantity"
"Apple", "10"
"Banana", "20"

Cependant, sur Android, l'erreur suivante se produit.

NoClassDefFoundError: Failed resolution of: Ljava/beans/Introspector

Android ne semble pas avoir les bibliothèques requises.

Référence: [Impossible de trouver la classe «java.beans.Introspector» lors de l'utilisation d'OpenCSV pour analyser les fichiers csv](https://stackoverflow.com/questions/50173340/didnt-find-class-java-beans-introspector-when- using-opencsv-to-parse-csv-file)

univocity-parsers

A la capacité de mapper des fichiers CSV sur des objets Java.

https://www.univocity.com/pages/univocity_parsers_tutorial

Comment utiliser

Préparez une classe Java qui correspond aux colonnes du fichier CSV. Spécifiez la correspondance entre les colonnes et les variables avec des annotations.

@Data
public class Hoge {

@Parsed(field = "Name")
public String name = "";

@Parsed(field = "Quantity")
public int quantity = 0;

Lire le fichier CSV

    //Lors de la lecture à partir du dossier Asset
    Reader reader = new InputStreamReader( getAssets().open(nom de fichier) );

        CsvParserSettings settings = new CsvParserSettings();
    BeanListProcessor<Shopping> rowProcessor = new BeanListProcessor<>(Hoge.class);
        settings.setProcessor(rowProcessor);

 CsvRoutines routines = new CsvRoutines(settings);
List<Hoge> list
 = routines.parseAll( Hoge.class,  reader );

Un exemple de programme est ici https://github.com/ohwada/Android_Samples/tree/master/Csv2

Apache Commons CSV

Décomposez avec une virgule pour créer un tableau de chaînes de caractères et placez-les dans l'ordre.

https://commons.apache.org/proper/commons-csv/

Un exemple de programme est ici https://github.com/ohwada/Android_Samples/tree/master/Csv3

Recommended Posts

Bibliothèque CSV Android
Bibliothèque SIP Android
Bibliothèque Java CSV "opencsv"
Bibliothèque de transmission en plusieurs parties sur Android
Collection de la bibliothèque Android de "Mercariatte"
Une collection de bibliothèques utiles dans le développement Android
Vue Android
3 façons d'importer des bibliothèques dans Android Studio