IL CSV sta per Valori separati da virgola . È un formato di file semplice utilizzato per archiviare dati tabulari in un semplice formato di testo, come un foglio di calcolo o un database. I file in CSV il formato può essere importato ed esportato da programmi (Microsoft Office ed Excel) che memorizzano i dati in tabelle. Il file CSV utilizzava un delimitatore per identificare e separare diversi token di dati in un file. Il formato file CSV viene utilizzato quando spostiamo dati tabulari tra programmi che operano nativamente su formati incompatibili. Esistono i seguenti modi per leggere il file CSV in Java. Il separatore predefinito di un file CSV è a virgola (,) .
Esistono i seguenti modi per stampare un array in Java:
- Giava Scanner classe
- Giava String.split() metodo
- Utilizzando ApriCSV API
Come creare un file CSV
Esistono due modi per creare un file CSV:
- Utilizzando Microsoft Excel
- Utilizzando Bloc notes
Utilizzando Microsoft Excel
Passo 1: Apri Microsoft Excel.
Passo 2: Scrivere nel file i seguenti dati:
Passaggio 3: Ora salva il file. Fornire il nome del file CSVDemo e seleziona CSV (delimitato da virgole) dal file salva come tipo menù. Ora, fai clic sul pulsante Salva.
Utilizzando il Blocco note
Passo 1: Aprire bloc notes .
pitone __dict__
Passo 2: Scrivere alcuni dati in file separati da virgola (,) . Per esempio:
Vivek, Singh, 23, 9999999, Chandigarh
Passaggio 3: Salva il file con .csv estensione.
Abbiamo creato il seguente file.
Classe scanner Java
Giava Scanner class fornisce vari metodi con cui possiamo leggere il file CSV. La classe Scanner fornisce un costruttore che produce valori scansionati dal file specificato. Suddivide i dati nel modulo token. Utilizza un modello delimitatore che per impostazione predefinita corrisponde allo spazio bianco. I token risultanti vengono quindi convertiti in valori di diverso tipo utilizzando i metodi next().
Esempio
import java.io.*; import java.util.Scanner; public class ReadCSVExample1 { public static void main(String[] args) throws Exception { //parsing a CSV file into Scanner class constructor Scanner sc = new Scanner(new File('F:\CSVDemo.csv')); sc.useDelimiter(','); //sets the delimiter pattern while (sc.hasNext()) //returns a boolean value { System.out.print(sc.next()); //find and returns the next complete token from this scanner } sc.close(); //closes the scanner } }
Produzione:
Shashank, Mishra, Auditor, 909090090, 45000, Moti Vihar Naveen, Singh, Accountant, 213344455, 12000, Shastri Nagar Mahesh, Nigam, Sr. Manager, 787878878, 30000, Ashok Nagar Manish, Gupta, Manager, 999988765, 20000, Saket Nagar
Metodo Java String.split()
Giava String.split() identifica il delimitatore e divide le righe in token.
ordine casuale sql
Sintassi
public String[] split(String regex)
Il metodo analizza un'espressione regolare di delimitazione. Il metodo restituisce un array di stringhe calcolato suddividendo questa stringa attorno alle corrispondenze dell'espressione regolare data.
Consideriamo la stringa:
Java aggiunge stringa
'questo è un tavolo' Regex Risultato : {'questo è un tavolo'}
Esempio
Nell'esempio seguente, utilizziamo la classe BufferedReader che legge il file riga per riga fino al raggiungimento del carattere EOF (fine del file).
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadCSVExample2 { public static void main(String[] args) { String line = ''; String splitBy = ','; try { //parsing a CSV file into BufferedReader class constructor BufferedReader br = new BufferedReader(new FileReader('CSVDemo.csv')); while ((line = br.readLine()) != null) //returns a Boolean value { String[] employee = line.split(splitBy); // use comma as separator System.out.println('Employee [First Name=' + employee[0] + ', Last Name=' + employee[1] + ', Designation=' + employee[2] + ', Contact=' + employee[3] + ', Salary= ' + employee[4] + ', City= ' + employee[5] +']'); } } catch (IOException e) { e.printStackTrace(); } } }
Produzione:
Employee [First Name= Shashank, Last Name= Mishra, Designation= Auditor, Contact= 909090090, Salary= 45000, City= Moti Vihar] Employee [First Name= Naveen, Last Name=Singh, Designation= Accountant, Contact=213344455, Salary= 12000, City= Shastri Nagar] Employee [First Name= Mahesh, Last Name=Nigam, Designation= Sr. Manager, Contact=787878878, Salary= 30000, City= Ashok Nagar] Employee [First Name= Manish, Last Name=Gupta, Designation= Manager, Contact=999988765, Salary= 20000, City= Saket Nagar]
Utilizzando l'API OpenCSV
OpenCSV è un'API di terze parti che fornisce librerie standard per leggere varie versioni di file CSV. La libreria fornisce un controllo migliore per gestire il file CSV. La libreria può anche leggere il formato file TDF (Tab-Delimited File).
Caratteristiche di OpenCSV
- Qualsiasi numero di valori per riga.
- Ignora le virgole negli elementi tra virgolette.
- Gestisce le voci che si estendono su più righe.
IL CSVReader La classe viene utilizzata per leggere un file CSV. La classe fornisce il costruttore della classe CSVReader per analizzare un file CSV.
Sintassi
public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader)
Parametri
se altrimenti in Java
lettore: Il lettore a una fonte CSV.
separatore: È un delimitatore utilizzato per separare le voci.
Passaggi per leggere il file CSV in Eclipse:
Passo 1: Crea un file di classe con il nome LeggiCSVEsempio3 e scrivere il seguente codice.
Passo 2: Creare un lib cartella nel progetto.
Passaggio 3: Scaricamento opecsv-3.8.jar da
https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar
Passaggio 4: Copia il opencsv-3.8.jar e incollalo nella cartella lib.
Passaggio 5: Ora esegui il programma.
Esempio
import java.io.FileReader; import com.opencsv.CSVReader; public class ReadCSVExample3 { public static void main(String[] args) { CSVReader reader = null; try { //parsing a CSV file into CSVReader class constructor reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //reads one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.print(token); } System.out.print(' '); } } catch (Exception e) { e.printStackTrace(); } } }
Produzione:
Shashank Mishra Auditor 909090090 45000 Moti Vihar Naveen Singh Accountant 213344455 12000 Shastri Nagar Mahesh NigamSr. Manager 787878878 30000 Ashok Nagar Manish Gupta Manager 999988765 20000 Saket Nagar
Lettura del file CSV con un separatore diverso
Nel seguente file CSV abbiamo utilizzato il punto e virgola (;) per separare i token.
Esempio
convertire una data in una stringa
import java.io.FileReader; import java.io.IOException; import com.opencsv.CSVReader; public class ReadCSVExample4 { public static void main(String[] args) { CSVReader reader = null; try { reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //read one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.println(token); } System.out.print(' '); } } catch (Exception e) { e.printStackTrace(); } } }
Produzione:
Shashank; Mishra; Auditor; 909090090; 45000; Moti Vihar Naveen; Singh; Accountant; 213344455; 12000; Shastri Nagar Mahesh; Nigam; Sr. Manager; 787878878; 30000; Ashok Nagar Manish; Gupta; Manager; 999988765; 20000; Saket Nagar