Opencsv讀取CSV

官網:http://opencsv.sourceforge.net/

        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>4.4</version>
        </dependency>
import com.opencsv.bean.CsvBindByPosition;
import com.opencsv.bean.CsvCustomBindByPosition;
import com.opencsv.bean.customconverter.ConvertGermanToBoolean;
import io.searchbox.annotations.JestId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SiteData implements Serializable {
	@JestId
	private String id;//唯一標誌
	@CsvBindByPosition(position = 0)
	private String name;
	@CsvBindByPosition(position = 1)
	private String startTime;//開始時間
	@CsvBindByPosition(position = 2)
	private String endTime;//結束時間
	@CsvBindAndSplitByPosition(position = 3,elementType = String.class, splitOn = "、")
	private List<String> province;
	@CsvBindByPosition(position = 4)
	private String level;
	@CsvBindByPosition(position = 5)
	private String area;
	@CsvCustomBindByPosition(position = 6 ,converter = ConvertGermanToBoolean.class)
	private Boolean tripped;
	@CsvBindByPosition(position = 7)
	private String description;
}
	@CsvBindByPosition(position = 1)
	@CsvDate("yyyyMMdd")
	private Date startTime;//開始時間
		try {
			InputStreamReader is = new InputStreamReader(new FileInputStream("E:\\hunan\\cc.csv"), "GBK");
			List<SiteData> users = new CsvToBeanBuilder(is)
					.withType(SiteData.class)
					.withSeparator(',')
					.withSkipLines(1)
					.build()
					.parse();
			System.out.println("users = " + new Gson().toJson(users));
		} catch (Exception e) {
			e.printStackTrace();
		}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章