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 + "건 추출");
}
}