카테고리 없음

ㅊㅊ

anythingsay 2026. 5. 14. 15:41

import java.io.*;
import java.nio.file.*;

/**
* 텍스트 파일에서 SI_NAME 이 포함된 줄을 찾아
* "SI_NAME" 다음부터 줄 끝까지 추출하여 출력
*
* 사용법:
*   java ExtractSIName <파일경로>
*   java ExtractSIName result.txt
*/
public class ExtractSIName {

    private static final String KEYWORD = "SI_NAME";

    public static void main(String[] args) throws Exception {

        if (args.length == 0) {
            System.out.println("사용법: java ExtractSIName <파일경로>");
            System.exit(1);
        }

        String filePath = args[0];
        File file = new File(filePath);

        if (!file.exists()) {
            System.out.println("[오류] 파일을 찾을 수 없습니다: " + filePath);
            System.exit(1);
        }

        System.out.println("[파일] " + filePath);
        System.out.println("-----------------------------");

        int matchCount = 0;

        try (BufferedReader br = new BufferedReader(
                new InputStreamReader(new FileInputStream(file), "UTF-8"))) {

            String line;
            int lineNum = 0;

            while ((line = br.readLine()) != null) {
                lineNum++;
                int idx = line.indexOf(KEYWORD);
                if (idx >= 0) {
                    // SI_NAME 바로 뒤부터 줄 끝까지 추출
                    String extracted = line.substring(idx + KEYWORD.length()).trim();
                    System.out.println(extracted);
                    matchCount++;
                }
            }
        }

        System.out.println("-----------------------------");
        System.out.println("[완료] " + matchCount + "건 추출");
    }
}