Maven Central で提供していますので、Maven などの依存性解決ツールからのご使用をお願いします。
依存性解決ツールのご使用ができない場合は、Maven Central より直接バイナリをダウンロードしてご使用下さい。
可能です。
CSV 入出力のファイルやストリーム指定時に encoding パラメータで指定して下さい。
[Code] List<String[]> list = Csv.load(new File("example.csv"), "Windows-31J", new CsvConfig(), new StringArrayListHandler());
ファイルやストリームではなく Reader や Writer を使用する場合は、
Reader または Writer クラスのインスタンス生成時に文字コードの指定をして下さい。
迷ったらまずは CsvEntityManager から使い始めてみて下さい。
また 方式比較表 も参考にしてみて下さい。
@CsvEntity で「header = false」とすることで、対応する CsvEntityWriter や CsvEntityManager 使用時に、ヘッダーの出力をしないようにできます。
また他の CsvManager や BeanListHandler、CsvBeanWriter などで header オプションを指定することで同様にヘッダーの出力をしないようにできます。
CsvConfig で setVariableColumns(false) を指定して下さい。
項目数が不正な場合に CsvReader や CsvWriter から例外がスローされるようになります。
※setVariableColumns は、バージョン 2.1 以上で使用可能です。
[Code] CsvConfig cfg = new CsvConfig(); cfg.setVariableColumns(false);
Hibernate Validator など Java の Bean Validation をご使用下さい。
以下に例を掲載します。
[pom.xml] <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.0.2.Final</version> </dependency>
[Code] @CsvEntity public class Customer { @NotNull @CsvColumn(name = "氏名") public String name; @Past @CsvColumn(name = "生年月日", format = "yyyy/MM/dd") public Date birthday; } public class ExampleTests { @Test public void test throws Exception { // Validator を構成します。 final ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory(); final Validator validator = validatorFactory.getValidator(); // CSV を読込んで検証処理を行います。 final List<Customer> list = new CsvEntityManager().load(Customer.class).from(new File("customer.csv")); for (final Customer customer : list) { final Set<ConstraintViolation<Customer>> violations = validator.validate(customer); // TODO: ここに処理を記述します。 } } }
以下の二段階の手順で変換して下さい。(XML から CSV への変換の場合は逆の手順となります)
CSV / XML 変換 と同様の考え方で、CSV ⇒ POJO ⇒ JSON へ変換する手順となります。
POJO から JSON へ変換する、JSON マッパーの詳細や選定などについては、 Spring Framework - Accessing RESTful services on the Client をご覧ください。