txt파일을 읽는데
1 홍길동 20000
2 임꺽정 21002
3 춘 향 122414
4 jamse lee 123123
이런식으로 txt가 되어있으면 띄어쓰기 단위로 읽으면
이름부분에서 잘못 읽힌다. (이름에 띄어쓰기가 들어갈 수 도 있으니까)
그래서 txt문서에 구분을 탭('\t') 으로 하고
읽을 때 한줄을 읽은다음 tab을 기준으로 스플릿해주면
각각 잘라 사용 할 수 있다.
//////////////////////////////////////////////////////////
private List<Product> saleList = new ArrayList<Product>();
public void loadMenu() {
File file = new File("test.txt");
String[] splitedStr = null;
try {
//한글 깨짐현상 때문에 인코딩
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "euc-kr"));
String line = null;
splitedStr = null;
while ((line = reader.readLine()) != null) {
splitedStr = null;
splitedStr = line.split("\t");
for (int i = 0; i < splitedStr.length; i++) {
splitedStr[i] = splitedStr[i].trim();
}
//자른 데이터를 원하는 형식에 맞게 넣기
saleList.add(new Product(splitedStr[0], splitedStr[1], Integer.valueOf(splitedStr[2])));
}
reader.close();
} catch (FileNotFoundException fnf) {
fnf.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
'공부 > JAVA' 카테고리의 다른 글
(JPA) find date between 날짜 사이 찾기 (0) | 2020.02.18 |
---|---|
(spring boot) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'stackResourceRegistryFactoryBean' (0) | 2019.03.25 |
(java) POI를 이용한 엑셀 쓰기 저장 (0) | 2016.08.15 |
(java) 현재 시간 가져오기 (0) | 2016.08.14 |
(java) 문자열 byte크기 알아내기 (0) | 2016.08.14 |