명품 JAVA 프로그래밍
명품 JAVA 프로그래밍 8장 실습문제 5
anycoding
2021. 12. 8. 20:22
반응형
문제
2개의 파일을 입력받고 비교하여 같으면 "파일이 같습니다." , 틀리면 "파일이 서로 다릅니다."를 출력하는 프로그램을 작성하라. 텍스트 및 바이너리 파일 모두를 포함한다. 아래 실행 예시에서는 프로젝트 폴더에 elvis1.txt와 복사본 elvis1-복사본.txt를 미리 준비해 두었다.
출력 예시
전체 경로명이 아닌 파일 이름만 입력하는 경우, 파일은 프로젝트 폴더에 있어야 합니다.
첫번째 파일 이름을 입력하세요>>elvis1.txt
두번째 파일 이름을 입력하세요>>elvis1-복사본.txt
elvis1.txt와 elvis1-복사본.txt를 비교합니다.
파일이 같습니다.
소스 코드
import java.io.*;
import java.util.Scanner;
public class Main5 {
public static void main(String[] args) {
FileReader fin1 = null;
FileReader fin2 = null;
int c1,c2;
String File1,File2;
boolean check = true;
Scanner s = new Scanner(System.in);
System.out.println("전체 경로명이 아닌 파일 이름만 입력하는 경우, 파일은 프로젝트 폴더에 있어야 합니다.");
try {
System.out.print("첫번째 파일 이름을 입력하세요>>");
File1 = s.nextLine();
System.out.print("두번째 파일 이름을 입력하세요>>");
File2 = s.nextLine();
fin1 = new FileReader("파일경로"+File1);
fin2 = new FileReader("파일경로"+File2);
System.out.println(File1+" 와 "+File2+"를 비교합니다.");
while((c1 = fin1.read())!=-1&&(c2 = fin2.read()) != -1) {
if(c1 != c2)
check = false;
}
fin1.close();
fin2.close();
if(check)
System.out.println("파일이 같습니다.");
else
System.out.println("파일이 서로 다릅니다.");
}
catch(IOException e) {
System.out.println("입출력 오류");
}
}
}
파일 위치에 따라 파일경로 설정하시면 됩니다.
elvis1 - 복사본.txt
0.00MB
elvis1.txt
0.00MB
반응형