클로이의 데이터 여행기

[JAVA] 결과를 텍스트 파일(txt file)로 쓰기 본문

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


자주 쓰는 메소드는 참고하기 편하도록 따로 모아 작성을 해두어야 할 것 같습니다!



Comments