Super CSV

Super CSV 2.1

Windows / Kasper B. Graversen / 96 / Spesifikasi penuh
Penerangan

Super CSV: Pakej CSV Terbaik untuk Pembangun Java

Jika anda seorang pembangun Java, anda tahu betapa pentingnya untuk mempunyai alatan yang sesuai untuk anda gunakan. Dan apabila ia datang untuk bekerja dengan fail CSV, Super CSV ialah pakej yang anda perlukan. Pustaka sumber terbuka dan percuma ini memudahkan untuk membaca dan menulis fail CSV dalam Java, dengan sokongan untuk pemetaan dalam dan pemetaan berasaskan indeks menggunakan sambungan Dozer baharu.

Tetapi apakah yang membezakan Super CSV daripada perpustakaan lain? Untuk satu perkara, ia direka bentuk untuk mesra pengaturcara. Ini bermakna anda tidak perlu menjadi pakar dalam menghuraikan atau memformat data – Super CSV menguruskan semua itu untuk anda. Ia juga sangat boleh dikonfigurasikan, jadi anda boleh menyesuaikan tingkah lakunya untuk memenuhi keperluan anda.

Mari kita lihat dengan lebih dekat apa yang boleh dilakukan oleh Super CSV.

Membaca dan Menulis Fail CSV

Pada terasnya, Super CSV adalah mengenai membaca dan menulis data dalam format nilai dipisahkan koma (CSV). Ini ialah format fail biasa yang digunakan untuk bertukar-tukar data antara aplikasi atau sistem yang berbeza.

Dengan Super CSV, membaca fail semudah mencipta objek pembaca dan memanggil kaedah read()nya:

```java

ICsvBeanReader beanReader=CsvBeanReader baharu(Baharu FileReader("data.csv"), CsvPreference.STANDARD_PREFERENCE);

cuba {

pengepala String[] akhir=beanReader.getHeader(true);

pemproses CellProcessor[] akhir=getProcessors();

MyBean myBean;

manakala ((myBean=beanReader.read(MyBean.class, header, processors))!=null) {

System.out.println(myBean);

}

} akhirnya {

beanReader.close();

}

```

Kod ini membaca setiap baris fail "data.csv" ke dalam contoh MyBean (objek Java lama biasa), menggunakan pengepala daripada baris pertama sebagai nama sifat. Ia juga menggunakan beberapa pemproses sel (lebih lanjut mengenainya kemudian) pada setiap medan sebelum menetapkannya pada objek.

Menulis data berfungsi sama:

```java

ICsvMapWriter mapWriter=CsvMapWriter baharu(New FileWriter("output.csv"), CsvPreference.STANDARD_PREFERENCE);

cuba {

pengepala String[] akhir=String baharu[]{"name", "age", "email"};

mapWriter.writeHeader(header);

Map<String,Object> row1=new HashMap<>();

row1.put("nama", "John");

row1.put("umur", 25);

row1.put("e-mel", "[email protected]");

//. .. tambah lagi baris. ..

Senaraikan<Map<String,Object>> rows=Arrays.asList(row1,row2,row3);

mapWriter.write(baris, pengepala, getProcessors());

} akhirnya {

mapWriter.close();

}

```

Di sini kita mencipta objek penulis yang menulis output kepada "output.csv". Kami kemudian menulis beberapa pengepala diikuti dengan beberapa baris data (diwakili sebagai peta). Sekali lagi kami menggunakan beberapa pemproses sel sebelum menulis setiap medan.

Data Pemetaan

Salah satu ciri Super CVS yang paling berkuasa ialah keupayaannya untuk melakukan pemetaan dalam antara objek dan lajur dalam fail. Ini bermakna jika format input atau output anda tidak betul-betul sepadan dengan perwakilan dalaman data anda (cth., jika nama lajur berbeza), anda masih boleh menukar antara mereka dengan mudah.

Sebagai contoh:

```java

Pelanggan kelas awam {

@CsvBindByName(column="First Name")

String peribadi firstName;

@CsvBindByName(column="Last Name")

Nama akhir String peribadi;

@CsvBindByName(column="Alamat E-mel")

e-mel String peribadi;

}

//. ..

Pemeta ICsvDozerBeanMapper =

CsvDozerBeanMapperBuilder() baharu

. denganMappingFiles(mappingFile)

. bina();

Senaraikan<Pelanggan> pelanggan =

mapper.mapToBeans(

csvInputStream,

Customer.class);

//. ..

```

Di sini kami mentakrifkan kelas tersuai kami sendiri `Pelanggan` yang mempunyai medan beranotasi dengan anotasi `@CsvBindByName` yang menunjukkan lajur mana mereka harus dipetakan dari/ke semasa membaca/menulis masing-masing.

Kami kemudiannya menggunakan `CsvDozerMapper` yang menggunakan Dozer under-the-hood - satu lagi projek sumber terbuka yang popular -untuk melaksanakan penukaran ini secara automatik berdasarkan anotasi ini.

Pemproses Sel

Satu lagi ciri utama Super CVS ialah pemproses sel - kelas kecil yang mengubah sel individu semasa operasi membaca atau menulis.

Sebagai contoh:

```java

Pemproses Sel statik peribadi[] getProcessors() {

pemproses CellProcessor[] akhir =

{

// pengesahan nama

NotNull baharu(),

// pengesahan umur & penukaran

ParseInt baharu(),

// pengesahan & penukaran e-mel

EmailValidator baharu(),

};

kembali pemproses;

}

```

Dalam contoh ini kami mentakrifkan tiga contoh pemproses sel: NotNull menyemak sama ada terdapat sebarang nilai; ParseInt menukar nilai rentetan kepada integer; EmailValidator menyemak sama ada alamat e-mel kelihatan sah.

Kejadian pemproses ini kemudiannya dihantar bersama-sama dengan parameter lain apabila mencipta pembaca/penulis/pemeta.

Kesimpulan

Super CVS menyediakan pembangun set alat yang mudah digunakan lagi berkuasa untuk bekerja dengan fail nilai yang dipisahkan koma dalam projek Java mereka.

Sama ada anda berurusan dengan set data yang besar atau hanya memerlukan sesuatu yang cepat dan kotor untuk tugas ad-hoc,

Super CVS telah merangkumi segala-galanya: daripada operasi I/O asas melalui pemetaan lanjutan sehingga pengesahan/penukaran kompleks melalui pemprosesan sel.

Jadi mengapa tidak mencubanya hari ini?

Spesifikasi penuh
Penerbit Kasper B. Graversen
Laman web penerbit
Tarikh pelepasan 2013-04-24
Tarikh ditambahkan 2013-04-25
Kategori Alat Pembangun
Sub kategori Perisian Java
Versi 2.1
Keperluan Os Windows 2003, Windows 2000, Windows Vista, Windows, Windows 7, Windows XP
Keperluan Java
Harga Free
Muat turun setiap minggu 0
Jumlah muat turun 96

Comments: