Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- PyLucene
- cifsutils
- startfile
- Notepadplus
- SFTP
- 가상머신호스트
- firefox 파이어폭스
- 소스 <script> 로딩 실패
- springboot #spring #jackson
- mailutils
- 임펠러
- OpenSCAD
- VM 호스트 주소
- Notepad++
- FTP
- 노트패드뿔뿔
- Printer Driver
- 윈도우
- Regex
- linux ssh root debian
- Notepad
- react #router
- Basic Auth
- 보안연결실패
- Windows
- PDFCreator
- debian
- 정규표현식
- React #React-Table
Archives
- Today
- Total
JJC's 테크니컬 다이어리
csv 파일을 읽고 json으로 반환하는 코드조각 본문
pom.xml
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-csv</artifactId>
</dependency>
Rest Controller
/*************************************
* csv 파일을 일고 json으로 반환하여 던지는 서비스
* @param projno
* @param path
* @param filename
* @return
* @throws IOException
*/
@RequestMapping("/fileasjson/{projno}/{path}/{filename}")
public List<Map<String,String>> readdat(@PathVariable("projno") String projno,@PathVariable("path") String path,@PathVariable("filename") String filename) throws IOException
{
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
String startPath = basePath + projno + "\\"+path+"\\"+filename;
CsvMapper mapper = new CsvMapper();
// important: we need "array wrapping" (see next section) here:
mapper.enable(CsvParser.Feature.WRAP_AS_ARRAY);
File csvfile = new File(startPath);
logger.info(csvfile.getAbsolutePath());
//Schema from POJO (usually has @JsonPropertyOrder annotation)
//CsvSchema schema = mapper.schemaFor(Empolyee.class);
CsvSchema schema = CsvSchema.builder()
.addColumn("a")
.addColumn("b")
.addColumn("c")
.addColumn("d")
.addColumn("e")
.addColumn("f")
.addColumn("g")
.addColumn("h")
.addColumn("i")
.addColumn("j")
.addColumn("k")
.addColumn("l")
.addColumn("m")
.addColumn("n")
.addColumn("o")
.addColumn("p")
.addColumn("q")
.addColumn("r")
.addColumn("s")
.addColumn("t")
.addColumn("u")
.addColumn("v")
.addColumn("w")
.addColumn("x")
.addColumn("y")
.addColumn("z")
.build();
schema = schema.withColumnSeparator('\t').withNullValue("").withoutEscapeChar().withoutQuoteChar().withoutHeader();
MappingIterator<Map<String,String>> it = mapper.readerFor(Map.class).with(schema).readValues(csvfile);
while(it.hasNext()) {
list.add(it.next());
}
return list;
}