JAVA
[JAVA] 결과를 텍스트 파일(txt file)로 쓰기
징느K
2018. 10. 10. 20:18
세 번째로 설명할 메소드는 '결과를 텍스트 파일로 쓰는 기능'을 수행합니다.
HashMap에 담은 데이터 중 조건에 맞는 데이터(value가 1 초과)만 결과파일에 작성하였습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public static void writeFile(HashMap<String,Integer> dicMap) { try { File file = new File("C:/data/output/result_calculator_test.txt"); BufferedWriter writer = new BufferedWriter(new FileWriter(file)); if(file.isFile() && file.canWrite()) { //☞ 여기부터 for (String key : dicMap.keySet() ) { if (dicMap.get(key)>1) { // 결과 파일 작성 시, "키^밸류"의 양식으로 작성 writer.write(key+"^"+dicMap.get(key)+"\n"); } //writer.write(key+"^"+dicMap.get(key)+"\n"); } //☜ 여기까지만 직접 작성 writer.close(); } }catch (IOException e) { e.printStackTrace(); } } | cs |
이 메소드 역시 다른분이 작성한 코드를 활용하여 표시한 부분만 원하는대로 수정하습니다.
변수설명은 의미가 없을 듯 하여, 메소드와 HashMap 관련 참고사항에 대해 간략히 적어보겠습니다.
[메소드]
- HashMap변수명.get("key")
: HashMap에서 key값에 해당하는 value를 추출
(*중복을 추출하는 것이 목적이므로, value값이 1초과인 결과만 작성하도록 해당 메소드를 활용하였다.)
- 변수명.isFile()
: 변수에 지정한 경로에 해당 파일이 있는지 확인
- 변수명.canWrite()
: 변수에 지정한 파일을 쓸 수 있는지 확인
[참고사항]
- for (String key : HashMap변수명.keySet() )
: HashMap을 for문 돌리는 방법으로, 배열 등과는 다른 방식으로 수행해야합니다
key를 활용하면 됩니다:D
자주 쓰는 메소드는 참고하기 편하도록 따로 모아 작성을 해두어야 할 것 같습니다!