بادئ ذي بدء ، نحن بحاجة إلى فهم أساسي لملف CSV. يشبه ملف CSV Excel ويمكن فتحه باستخدام Excel ، ولكن جوهر ملف CSV مفصول فاصلة ، على سبيل المثال ، الشكل التالي:
يظهر في txt:
بعد تعديل لاحقة الملف إلى CSV ، سيتم عرضه على النحو التالي:
في Java ، نستخدم POI عمومًا لتشغيل Excel والاستيراد والتصدير ، لكن POI يستهلك الذاكرة كثيرًا ، خاصة عند التصدير. في هذا الوقت ، يمكننا في الواقع اختيار التصدير لإنشاء ملفات CSV ، لأنه يشبه النص ، لذلك فهو فعال للغاية.
لقد كتبت ببساطة فئة تنفيذ ، الرمز هو كما يلي:
/**** تصدير الملف الذي يولد تنسيق CSV* Author CCG* param عناوين CSV Header* Param Properties خصائص كيان البيانات التي تحتاج إلى تصدير* @RETURN* @thero thero to there in to the title in the title. 10:51:44 AM * therwes alfortalAccessException * throws alfictalargumentException */public static <T> String orportcsv (string [] string [] string [] properties ، list <t> list) reams ioException ، alfortalargumentexception ، inchalalAccessexception {file file = file/ // إنشاء دفق الإخراج وحدد ترميز OutputStreamWriter OW = جديد OutputStreamWriter (FileOutputStream جديد (ملف) ، "GBK") ؛ // ملف CSV مفصول فاصلة. باستثناء الأول ، تحتاج إلى إدخال فاصلة بعد كتابة بيانات خلية واحدة في كل مرة بعد كتابة بيانات خلية واحدة ، {ow.write (title) ؛ ow.write ("،") ؛ } // كسر خط الفاصل بعد كتابة رأس الملف ow.write ("/r/n") ؛ // اكتب محتوى (كائن OBJ: قائمة) {// استخدام الانعكاس للحصول على جميع الحقول الحقول [] الحقول = obj.getClass (). getDeclaredFields () ؛ لـ (خاصية السلسلة: الخصائص) {for (حقل الحقل: الحقول) {// تعيين حقل الحقل. if (property.equals (field.getName ())) {ow.write (field.get (obj) .toString ()) ؛ ow.write ("،") ؛ يكمل؛ }}} // بعد كتابة سطر كسر ow.write ("/r/n") ؛ } ow.flush () ؛ ow.close () ؛ العودة "0" ؛ }فئة الاختبار كما يلي:
اختبار الفراغ العام () يلقي ioException ، alfictalArgumentException ، inchalalAccessException {string [] tutles = new string [] {"id" ، "name"} ؛ string [] properties = new string [] {"id" ، "name"} ؛ قائمة <Sether> list = new ArrayList <Sether> () ؛ مستخدم المستخدم ؛ المستخدم = مستخدم جديد () ؛ user.setid (1L) ؛ user.setName ("Zhang San") ؛ list.add (user) ؛ المستخدم = مستخدم جديد () ؛ user.setid (2l) ؛ user.setName ("li si") ؛ list.add (user) ؛ csvutil.getInstance (). esportcsv (العناوين ، الملكية ، القائمة) ؛ }الملف الذي تم إنشاؤه بعد التصدير هو نفسه الصورة أعلاه ، ويعتبر تغليف. فقط تمرير في الرأس وخصائص الكيان المقابل للرأس. انتبه إلى التوافق واحد تلو الآخر.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.