👨‍💻Programming/알고리즘 풀이

JAVA - Lv1. Algorithm - Tab키를 공백 4개(4 space)로 바꾸는 프로그램

코너(Corner) 2020. 11. 14.
반응형

JAVA - Lv1. Algorithm - Tab키를 공백 4개(4 space)로 바꾸는 프로그램

 

 

 


  A씨는 개발된 소스코드를 특정업체에 납품하려고 한다. 개발된
  소스코드들은 탭으로 들여쓰기가 된 것,
  공백으로 들여쓰기가 된 것들이 섞여 있다고 한다.
  A씨는 탭으로 들여쓰기가 된 모든 소스를 공백 4개로 수정한 후
  납품할 예정이다. 
  A씨를 도와줄 수 있도록 소스코드내에 사용된 탭(Tab)문자를
  공백 4개(4 Space)로 바꾸어주는 프로그램을 작성하시오.


 

 

 

 

 


소스 코드

package Lv1;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;

public class ex3 {

	public static void main(String[] args) {
		 
		Scanner sc = new Scanner (System.in);
		String txt;     // 기록용 변수 선언
		String fileName = ("C:\\hoon\\input.txt");
	
		System.out.print("기록하실 내용을 입력하세요 : ");
		txt = sc.nextLine(); // 기록을 하기 위한 입력값
		try{
			BufferedWriter fw = new BufferedWriter(new FileWriter(fileName, true));
			fw.write(txt);
			fw.write("\r\n"); 
			fw.flush();  
			fw.close();
		} catch(Exception e){
			e.printStackTrace();
		} 
	// 기록을 해서 확인해보기 위함 
    
    // 아래는 위에서 기록한 것을 Tab을 공백 4(4 space)로 변경
		try {
			File input_file = new File("C:\\hoon\\input.txt");
			FileReader fileReader = new FileReader(input_file);
			BufferedReader reader = new BufferedReader(fileReader);
			FileWriter fileWriter = new FileWriter("C:\\hoon\\output.txt");
			BufferedWriter writer = new BufferedWriter(fileWriter);

			int input_ascii; 
			while( (input_ascii = reader.read()) != -1 ) { 
				char input_char = (char)input_ascii;
				if (input_char == 9 ) {
					input_char = 32;
					for (int i=1; i<=4; i++) {
						writer.write(input_char);
					}
				} else {
					writer.write(input_char);
				}
			}
			writer.close();
			reader.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

 

반응형

댓글