logo

Java'da CSV Dosyası Nasıl Okunur?

CSV anlamına gelir Virgülle Ayrılmış Değerler . Tablo verilerini elektronik tablo veya veritabanı gibi basit metin biçiminde depolamak için kullanılan basit bir dosya biçimidir. İçindeki dosyalar CSV formatı, verileri tablolarda saklayan programlara (Microsoft Office ve Excel) içe ve dışa aktarılabilir. CSV dosyası, bir dosyadaki farklı veri belirteçlerini tanımlamak ve ayırmak için bir sınırlayıcı kullandı. CSV dosya formatı, tablo verilerini yerel olarak uyumsuz formatlarda çalışan programlar arasında taşıdığımızda kullanılır. Java'da CSV dosyasını okumanın aşağıdaki yolları vardır. CSV dosyasının varsayılan ayırıcısı bir virgül (,) .

Java'da bir diziyi yazdırmanın aşağıdaki yolları vardır:

  • Java Tarayıcı sınıf
  • Java String.split() yöntem
  • Kullanma OpenCSV API'si

CSV Dosyası nasıl oluşturulur

CSV dosyası oluşturmanın iki yolu vardır:

  • Kullanma Microsoft Excel
  • Kullanma Not Defteri

Microsoft Excel'i kullanma

Aşama 1: Microsoft Excel'i açın.

Adım 2: Aşağıdaki verileri dosyaya yazın:

Java'da CSV Dosyası Nasıl Okunur?

Aşama 3: Şimdi dosyayı kaydedin. Dosya adını sağlayın CSVDemo ve CSV'yi (Virgülle ayrılmış) seçin. tür olarak kaydet Menü. Şimdi Kaydet düğmesine tıklayın.

Java'da CSV Dosyası Nasıl Okunur?

Not Defteri'ni Kullanma

Aşama 1: Açık not defteri .

Adım 2: Bazı verileri dosyaya şu şekilde ayırarak yazın: virgül (,) . Örneğin:

java mirası

Vivek, Singh, 23, 9999999, Chandigarh

Aşama 3: Dosyayı şununla kaydet: .csv eklenti.

dizeyi karaktere dönüştür Java

Aşağıdaki dosyayı oluşturduk.

Java'da CSV Dosyası Nasıl Okunur?

Java Tarayıcı sınıfı

Java Tarayıcı class, CSV dosyasını okuyabileceğimiz çeşitli yöntemler sağlar. Tarayıcı sınıfı, belirtilen dosyadan taranan değerleri üreten bir yapıcı sağlar. Verileri belirteç formuna böler. Varsayılan olarak beyaz boşlukla eşleşen bir sınırlayıcı deseni kullanır. Ortaya çıkan jetonlar daha sonra next() yöntemleri kullanılarak farklı türdeki değerlere dönüştürülür.

Örnek

 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 } } 

Çıktı:

 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() yöntemi

Java String.split() sınırlayıcıyı tanımlar ve satırları belirteçlere böler.

Sözdizimi

 public String[] split(String regex) 

Yöntem sınırlayıcı bir düzenli ifadeyi ayrıştırır. Yöntem, bu dizeyi verilen normal ifadenin eşleşmeleri etrafına bölerek hesaplanan bir dize dizisini döndürür.

Dizeyi düşünün:

'bu bir masa' Normal ifade Sonuç : {'bu bir masa'}

Örnek

selenyum öğretici java

Aşağıdaki örnekte EOF (dosya sonu) karakterine ulaşana kadar dosyayı satır satır okuyan BufferedReader sınıfını kullanıyoruz.

 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(); } } } 

Çıktı:

 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'sini kullanma

OpenCSV, CSV dosyasının çeşitli sürümlerini okumak için standart kütüphaneler sağlayan üçüncü taraf bir API'dir. Kitaplık, CSV dosyasını işlemek için daha iyi kontrol sağlar. Kütüphane ayrıca TDF (Sekmeyle Ayrılmış Dosya) dosya formatını da okuyabilir.

OpenCSV'nin Özellikleri

  • Satır başına herhangi bir sayıda değer.
  • Alıntılanan öğelerdeki virgülleri yok sayar.
  • Birden çok satıra yayılan girişleri işler.

CSV Okuyucu sınıf bir CSV dosyasını okumak için kullanılır. Sınıf, bir CSV dosyasını ayrıştırmak için CSVReader sınıf yapıcısını sağlar.

Sözdizimi

 public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader) 

Parametreler

Java'da rastgele sayı

okuyucu: Okuyucuyu bir CSV kaynağına yönlendirir.

ayırıcı: Girişleri ayırmak için kullanılan bir sınırlayıcıdır.

Eclipse'de CSV dosyasını okuma adımları:

Aşama 1: Adıyla bir sınıf dosyası oluşturun CSVÖrnek3'ü okuyun ve aşağıdaki kodu yazın.

Adım 2: Oluşturmak kitap projedeki klasör.

Aşama 3: İndirmek opecsv-3.8.jar itibaren

https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar

Adım 4: Kopyala opencsv-3.8.jar ve lib klasörüne yapıştırın.

Adım 5: Şimdi programı çalıştırın.

tarayıcı javası

Örnek

 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(); } } } 

Çıktı:

 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 

CSV dosyasını farklı bir ayırıcıyla okuma

Aşağıdaki CSV dosyasında belirteçleri ayırmak için noktalı virgül (;) kullandık.

Java'da CSV Dosyası Nasıl Okunur?

Örnek

 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(); } } } 

Çıktı:

 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