반응형

문제

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

 

반응형
반응형

문제

C:\windows\system.ini 파일에 라인 번호를 붙여 출력하라.

출력 예시

 1: ; for 16-bit app support
 2: [386Enh]
 3: woafont=dosapp.fon
 4: EGA80WOA.FON=EGA80WOA.FON
 5: EGA40WOA.FON=EGA40WOA.FON
 6: CGA80WOA.FON=CGA80WOA.FON
 7: CGA40WOA.FON=CGA40WOA.FON
 8: 
 9: [drivers]
10: wave=mmdrv.dll
11: timer=timer.drv
12: 
13: [mci]

 

소스 코드

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main4 {
	public static void main(String[] args)
	{
		FileReader fin = null;
		BufferedReader bufReader = null;
		try {
			fin = new FileReader("C:\\windows\\system.ini");
			bufReader = new BufferedReader(fin);
			String line = "";
			int count = 1;
			while((line = bufReader.readLine()) != null) {
				System.out.printf("%3d: ",count);
				System.out.println(line);
				count++;
			}
			fin.close();
			bufReader.close();
		}
		catch(IOException e) {
			System.out.println("입출력 오류");
		}
	}
}
반응형
반응형

문제

C:\windows\system.ini 파일을 읽어 소문자를 모두 대문자로 바꾸어 출력하라.

 

소스 코드

import java.io.*;

public class Main3 {
	public static void main(String[] args)
	{
		FileReader fin = null;
		
		try {
			fin = new FileReader("C:\\windows\\system.ini");
			int c;
			while((c=fin.read())!=-1) {
				c = Character.toUpperCase(c);
				System.out.print((char)c);
			}
			fin.close();
		}
		catch(IOException e) {
			System.out.println("입출력 오류");
		}
	}
}
반응형

+ Recent posts