java SuperCSV - Beanを使ってCSVの読み书き操作 - SuperCSV-1.52.jar,univocity-parsers-1.5.6.jar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java SuperCSV - Beanを使ってCSVの読み书き操作 - SuperCSV-1.52.jar,univocity-parsers-1.5.6.jar相关的知识,希望对你有一定的参考价值。

import java.util.Date;


public class UserBean {

	private String name;
	private int age;
	private Date birthday;
	private String address;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}

}

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.supercsv.cellprocessor.FmtDate;
import org.supercsv.cellprocessor.ParseInt;
import org.supercsv.cellprocessor.constraint.StrMinMax;
import org.supercsv.cellprocessor.constraint.Unique;
import org.supercsv.cellprocessor.ift.CellProcessor;
import org.supercsv.io.CsvBeanWriter;
import org.supercsv.io.ICsvBeanWriter;
import org.supercsv.prefs.CsvPreference;

public class SuperCSVWriterSample {

	static final CellProcessor[] userProcessors = new CellProcessor[] {
			new Unique(new StrMinMax(3, 10)), new ParseInt(),
			new FmtDate("yyyy/M/d"), new StrMinMax(2, 10) };

	/**
	 * CSVファイルの内容を書き出すサンプルです。
	 *
	 * @param args
	 * @throws IOException
	 * @throws ParseException
	 */
	public static void main(String[] args) throws IOException, ParseException {

		// 日付フォーマット指定
		SimpleDateFormat format = new SimpleDateFormat("yyyy/M/d");
		File file = new File("C:\\Users\\AYA\\Documents\\NetBeansProjects\\Stock_1\\csv\\supercsv_01.csv");
		PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"Windows-31J")));


		ICsvBeanWriter writer = new CsvBeanWriter(pw, CsvPreference.EXCEL_PREFERENCE);

		// ヘッダを生成
		String headers[] = { "name", "age", "birthday", "address" };

		// JavaBeanに出力データをセット
		// 1行目
		UserBean bean1 = new UserBean();
		bean1.setName("山田 太郎");
		bean1.setAge(26);
		bean1.setBirthday(format.parse("1984/10/30"));
		bean1.setAddress("神奈川");

		// 2行目
		UserBean bean2 = new UserBean();
		bean2.setName("田中 一郎");
		bean2.setAge(24);
		bean2.setBirthday(format.parse("1986/5/13"));
		bean2.setAddress("東京");

		// 3行目
		UserBean bean3 = new UserBean();
		bean3.setName("鈴木 花子");
		bean3.setAge(22);
		bean3.setBirthday(format.parse("1988/10/8"));
		bean3.setAddress("大阪");

		// ヘッダを出力
		writer.writeHeader(headers);

		// データ行を出力
		writer.write(bean1, headers, userProcessors);
		writer.write(bean2, headers, userProcessors);
		writer.write(bean3, headers, userProcessors);

		writer.close();

	}

}
import java.io.FileReader;
import java.io.IOException;
import java.text.ParseException;

import org.supercsv.cellprocessor.ParseDate;
import org.supercsv.cellprocessor.ParseInt;
import org.supercsv.cellprocessor.constraint.StrMinMax;
import org.supercsv.cellprocessor.constraint.Unique;
import org.supercsv.cellprocessor.ift.CellProcessor;
import org.supercsv.io.CsvBeanReader;
import org.supercsv.io.ICsvBeanReader;
import org.supercsv.prefs.CsvPreference;

public class SuperCSVReaderSample {

	static final CellProcessor[] userProcessors = new CellProcessor[] {
			new Unique(new StrMinMax(3, 10)), new ParseInt(),
			new ParseDate("yyyy/M/d"), new StrMinMax(2, 10) };

	/**
	 * CSVファイルの内容を読み込むサンプルです。
	 *
	 * @param args
	 * @throws IOException
	 * @throws ParseException
	 */
	public static void main(String[] args) throws IOException, ParseException {

		// CsvBeanReaderを利用してファイルを読み込み
		ICsvBeanReader reader = new CsvBeanReader(new FileReader(
				"docs/supercsv_01.csv"), CsvPreference.EXCEL_PREFERENCE);

		// ヘッダを取得
		String[] headers = reader.getCSVHeader(true);

		// CSVファイルの中身を出力
		UserBean bean = null;
		while ((bean = reader.read(UserBean.class, headers, userProcessors)) != null) {
			System.out.println(bean.getName());
			System.out.println(bean.getAge());
			System.out.println(bean.getBirthday());
			System.out.println(bean.getAddress());
		}
	}
}

以上是关于java SuperCSV - Beanを使ってCSVの読み书き操作 - SuperCSV-1.52.jar,univocity-parsers-1.5.6.jar的主要内容,如果未能解决你的问题,请参考以下文章

java JavaMail的を使って雅虎メールを送信する

java Apache Common collectionsを使ったフィルタリング

scss calcを使った横幅计算

scss @contentを使った媒体查询の混入

javascript アロー关数を使った此の束缚

scss remを使った字体大小の初期化