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:
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.
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 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.
Ö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