java 서로 다른 내용의 두 텍스트 파일을 라인별로 읽어서 일치하는 라인이 있으면 그 라인을 출력하고 없으면 없다고 출력되는 방법 알수 있을까요?

조회수 3292회

제목 그대로 라인별로 정리되어있는 두개의 텍스트 파일이 있는데 이것을 라인별로 읽어서 동일한 라인이 있으면 그 라인을 출력하고, 모든 라인이 하나도 일치하지 않으면 일치하지 않는다라고 되는 소스코드 좀 구할수 있을까요ㅠㅠ 초보인데 소스코드 전체로 알려주시면 감사하겠습니다!ㅠㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    
    import org.junit.Test;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class FileReaderTest {
        private static final Logger log = LoggerFactory.getLogger(FileReaderTest.class);
    
        @Test
        public void readAndCompare() throws IOException {
            File file = new File("src/test/resources/file/exist-test.txt");
            File file2 = new File("src/test/resources/file/write-test.txt");
    
            BufferedReader reader = new BufferedReader(new FileReader(file));
            BufferedReader reader2 = new BufferedReader(new FileReader(file2));
    
            String data = null;
            String data2 = null;
            boolean hasAnyEqualLine = false;
            while((data = reader.readLine()) != null) { // 읽을게 없으면 null 리턴
                data2 = reader2.readLine();
                if (data2 == null) {
                    break;
                }
                if (data.equals(data2)) {
                    hasAnyEqualLine = true;
                    log.debug(data);
                }
            }
            if (!hasAnyEqualLine) {
                log.debug("모든 라인이 일치하지 않네요");
            }
    
            reader.close();
            reader2.close();
        }
    }
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)