ال CSV تمثل قيم مفصولة بفواصل . وهو تنسيق ملف بسيط يُستخدم لتخزين البيانات الجدولية في شكل نص بسيط، مثل جدول بيانات أو قاعدة بيانات. الملفات الموجودة في CSV يمكن استيراد التنسيق وتصديره من البرامج (Microsoft Office وExcel) التي تخزن البيانات في الجداول. يستخدم ملف CSV محددًا لتحديد وفصل الرموز المميزة للبيانات المختلفة في الملف. يتم استخدام تنسيق ملف CSV عندما نقوم بنقل البيانات الجدولية بين البرامج التي تعمل أصلاً على تنسيقات غير متوافقة. هناك الطرق التالية لقراءة ملف CSV في Java. الفاصل الافتراضي لملف CSV هو فاصلة (،) .
هناك الطرق التالية لطباعة مصفوفة في Java:
- جافا الماسح الضوئي فصل
- جافا سلسلة.سبليت () طريقة
- استخدام OpenCSV واجهة برمجة التطبيقات
كيفية إنشاء ملف CSV
هناك طريقتان لإنشاء ملف CSV:
- استخدام مايكروسوفت اكسل
- استخدام المفكرة
باستخدام مايكروسوفت إكسل
الخطوة 1: افتح مايكروسوفت إكسل.
الخطوة 2: اكتب البيانات التالية في الملف:
الخطوه 3: الآن، احفظ الملف. توفير اسم الملف CSVDemo وحدد CSV (مفصول بفواصل) من ملف حفظ كنوع قائمة طعام. الآن، انقر على زر حفظ.
باستخدام المفكرة
الخطوة 1: يفتح المفكرة .
الخطوة 2: اكتب بعض البيانات في ملف منفصل فاصلة (،) . على سبيل المثال:
فيفيك، سينغ، 23، 9999999، شانديغار
الخطوه 3: احفظ الملف باستخدام .csv امتداد.
لقد قمنا بإنشاء الملف التالي.
تطبيع rdbms
فئة جافا الماسح الضوئي
جافا الماسح الضوئي يوفر الفصل طرقًا مختلفة يمكننا من خلالها قراءة ملف CSV. توفر فئة الماسح الضوئي مُنشئًا ينتج القيم الممسوحة ضوئيًا من الملف المحدد. يقوم بتقسيم البيانات إلى نموذج الرمز المميز. يستخدم نمطًا محددًا يطابق المساحة البيضاء بشكل افتراضي. يتم بعد ذلك تحويل الرموز المميزة الناتجة إلى قيم من أنواع مختلفة باستخدام الطرق التالية ().
مثال
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 } }
انتاج:
مثال جافا
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()
جافا سلسلة.سبليت () يحدد المحدد ويقسم الصفوف إلى رموز مميزة.
بناء الجملة
public String[] split(String regex)
تقوم الطريقة بتوزيع التعبير العادي المحدد. تقوم الطريقة بإرجاع مصفوفة من السلسلة المحسوبة عن طريق تقسيم هذه السلسلة حول تطابقات التعبير العادي المحدد.
النظر في السلسلة:
'هذه طاولة' التعبير العادي نتيجة : {'هذه طاولة'}
مثال
في المثال التالي، نستخدم فئة BufferedReader التي تقرأ الملف سطرًا تلو الآخر حتى يتم الوصول إلى حرف EOF (نهاية الملف).
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(); } } }
انتاج:
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
OpenCSV عبارة عن واجهة برمجة تطبيقات تابعة لجهة خارجية توفر مكتبات قياسية لقراءة إصدارات مختلفة من ملف CSV. توفر المكتبة تحكمًا أفضل للتعامل مع ملف CSV. يمكن للمكتبة أيضًا قراءة تنسيق ملف TDF (ملف محدد بعلامات جدولة).
مميزات برنامج OpenCSV
- أي عدد من القيم في كل سطر.
- يتجاهل الفواصل في العناصر المقتبسة.
- يعالج الإدخالات التي تمتد على عدة أسطر.
ال CSVReader يتم استخدام الفئة لقراءة ملف CSV. توفر الفئة مُنشئ فئة CSVReader لتحليل ملف CSV.
بناء الجملة
public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader)
حدود
قارئ: القارئ إلى مصدر CSV.
فاصل: وهو محدد يستخدم لفصل الإدخالات.
خطوات قراءة ملف CSV في الكسوف:
الخطوة 1: قم بإنشاء ملف فئة بالاسم قراءة CSVExample3 واكتب الكود التالي .
الخطوة 2: إنشاء ليب مجلد في المشروع.
الخطوه 3: تحميل أوبكv-3.8.jar من
https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar
الخطوة 4: انسخ ال opencsv-3.8.jar والصقه في مجلد lib
الخطوة 5: الآن، قم بتشغيل البرنامج.
مثال
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(); } } }
انتاج:
سلسلة جافا إلى كثافة العمليات
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 بفاصل مختلف
في ملف CSV التالي، استخدمنا الفاصلة المنقوطة (؛) لفصل الرموز المميزة.
مثال
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(); } } }
انتاج:
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