The CSV tarkoittaa Pilkuilla erotetut arvot . Se on yksinkertainen tiedostomuoto, jota käytetään taulukkotietojen tallentamiseen yksinkertaisessa tekstimuodossa, kuten laskentataulukossa tai tietokannassa. Tiedostot CSV muotoa voidaan tuoda ja viedä ohjelmista (Microsoft Office ja Excel), jotka tallentavat tietoja taulukoihin. CSV-tiedostossa käytettiin erotinta tiedostossa olevien eri datatunnisteiden tunnistamiseen ja erottamiseen. CSV-tiedostomuotoa käytetään siirrettäessä taulukkotietoja ohjelmien välillä, jotka toimivat natiivisti yhteensopimattomissa muodoissa. On olemassa seuraavia tapoja lukea CSV-tiedosto Javassa. CSV-tiedoston oletuserotin on a pilkku (,) .
On olemassa seuraavia tapoja tulostaa taulukko Javassa:
- Java Skanneri luokkaa
- Java String.split() menetelmä
- Käyttämällä OpenCSV API
Kuinka luoda CSV-tiedosto
CSV-tiedoston luomiseen on kaksi tapaa:
- Käyttämällä Microsoft Excel
- Käyttämällä Muistilehtiö
Microsoft Excelin käyttö
Vaihe 1: Avaa Microsoft Excel.
linkitetty lista java
Vaihe 2: Kirjoita tiedostoon seuraavat tiedot:
Vaihe 3: Tallenna nyt tiedosto. Anna tiedoston nimi CSVDemo ja valitse CSV (pilkuilla erotettu) valikosta tallenna tyyppinä valikosta. Napsauta nyt Tallenna-painiketta.
Notepadin käyttäminen
Vaihe 1: Avata muistilehtiö .
Vaihe 2: Kirjoita joitakin tietoja tiedostoon erotettuna pilkku (,) . Esimerkiksi:
Vivek, Singh, 23, 9999999, Chandigarh
Vaihe 3: Tallenna tiedosto sovelluksella .csv laajennus.
Olemme luoneet seuraavan tiedoston.
Java Scanner -luokka
Java Skanneri luokka tarjoaa erilaisia menetelmiä, joilla voimme lukea CSV-tiedostoa. Scanner-luokka tarjoaa rakentajan, joka tuottaa määritetystä tiedostosta skannatut arvot. Se jakaa tiedot token-muotoon. Se käyttää erotinkuviota, joka oletuksena vastaa tyhjää tilaa. Tuloksena saadut merkit muunnetaan sitten eri tyyppisiksi arvoiksi next()-menetelmillä.
Esimerkki
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 } }
Lähtö:
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
Java String.split() -menetelmä
Java String.split() tunnistaa erottimen ja jakaa rivit tokeneiksi.
Syntaksi
public String[] split(String regex)
Menetelmä jäsentää rajaavan säännöllisen lausekkeen. Menetelmä palauttaa merkkijonon, joka on laskettu jakamalla tämä merkkijono annetun säännöllisen lausekkeen osumien ympärille.
Harkitse merkkijonoa:
'Tämä on pöytä' Regex Tulos : {'Tämä on pöytä'}
Esimerkki
Seuraavassa esimerkissä käytämme BufferedReader-luokkaa, joka lukee tiedostoa rivi riviltä, kunnes EOF (tiedoston loppu) -merkki saavutetaan.
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(); } } }
Lähtö:
mitä eroa on megatavulla ja gigatavulla
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]
OpenCSV API:n käyttö
OpenCSV on kolmannen osapuolen API, joka tarjoaa vakiokirjastoja CSV-tiedoston eri versioiden lukemiseen. Kirjasto tarjoaa paremman hallinnan CSV-tiedoston käsittelyyn. Kirjasto osaa lukea myös TDF-tiedostomuotoa (Tab-Delimited File).
OpenCSV:n ominaisuudet
- Mikä tahansa määrä arvoja riviä kohden.
- Ohittaa pilkkuja lainauselementeissä.
- Käsittelee merkintöjä, jotka kattavat useita rivejä.
The CSVReader luokkaa käytetään CSV-tiedoston lukemiseen. Luokka tarjoaa CSVReader-luokan rakentajan CSV-tiedoston jäsentämiseksi.
Syntaksi
public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader)
Parametrit
lukija: Lukija CSV-lähteeseen.
erotin: Se on erotin, jota käytetään merkintöjen erottamiseen.
Vaiheet CSV-tiedoston lukemiseen eclipse-tilassa:
Vaihe 1: Luo luokkatiedosto nimellä Lue CSVEesimerkki3 ja kirjoita seuraava koodi.
Vaihe 2: Luo lib kansio projektissa.
Vaihe 3: ladata opecsv-3.8.jar alkaen
https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar
Vaihe 4: Kopioi opencsv-3.8.jar ja liitä lib-kansioon.
Vaihe 5: Suorita nyt ohjelma.
Esimerkki
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(); } } }
Lähtö:
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
Luetaan CSV-tiedostoa eri erottimella
Seuraavassa CSV-tiedostossa olemme käyttäneet puolipistettä (;) erottelemaan tunnukset.
miksi merkkijono muuttumaton javassa
Esimerkki
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(); } } }
Lähtö:
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