[java] 파일 찾기 및 검색 결과 처리 오류 처리하기

Java에서 파일 찾기 및 검색 결과를 처리할 때 발생할 수 있는 오류를 처리하는 방법에 대해 알아보겠습니다.

1. 파일 찾기

Java에서 파일을 찾을 때는 java.io.File 클래스를 사용합니다. 다음은 파일 찾기에 사용되는 몇 가지 주요 메서드입니다.

아래는 예시 코드입니다.

import java.io.File;

public class FileSearchExample {
    public static void main(String[] args) {
        String filePath = "C:/path/to/file.txt";
        File file = new File(filePath);

        if (file.exists()) {
            if (file.isFile()) {
                System.out.println("파일이 존재합니다.");
            } else if (file.isDirectory()) {
                System.out.println("디렉토리입니다.");
            }
        } else {
            System.out.println("파일이 존재하지 않습니다.");
        }
    }
}

2. 검색 결과 처리

파일을 찾은 후에는 검색 결과를 처리해야 합니다. 검색 결과를 처리하기 위해서는 반복문과 조건문을 사용하여 파일 목록을 순회하고 원하는 조건을 확인해야 합니다.

아래는 파일 내용에서 특정 텍스트를 검색하여 해당 파일을 출력하는 예시 코드입니다.

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.List;

public class FileSearchExample {
    public static void main(String[] args) {
        String directoryPath = "C:/path/to/directory";
        String searchText = "example";

        File directory = new File(directoryPath);

        if (directory.isDirectory()) {
            File[] files = directory.listFiles();
            for (File file : files) {
                try {
                    List<String> lines = Files.readAllLines(file.toPath(), StandardCharsets.UTF_8);
                    for (String line : lines) {
                        if (line.contains(searchText)) {
                            System.out.println("File: " + file.getAbsolutePath());
                            System.out.println("Line: " + line);
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        } else {
            System.out.println("입력한 경로는 디렉토리가 아닙니다.");
        }
    }
}

3. 오류 처리

파일 찾기 및 검색 결과 처리 중에 오류가 발생할 수 있습니다. 이러한 오류들을 적절히 처리해야 합니다. 예를 들어, 파일이 존재하지 않는 경우 FileNotFoundException이 발생할 수 있습니다. 이를 try-catch문을 사용하여 처리하면 됩니다.

아래는 파일을 읽을 때 발생하는 IOException을 처리하는 예시 코드입니다.

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.List;

public class FileSearchExample {
    public static void main(String[] args) {
        String filePath = "C:/path/to/file.txt";

        File file = new File(filePath);
        try {
            List<String> lines = Files.readAllLines(file.toPath(), StandardCharsets.UTF_8);
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.out.println("파일을 읽는 중에 오류가 발생했습니다: " + e.getMessage());
        }
    }
}

위의 예시 코드에서 Files.readAllLines() 메서드를 호출하는 부분에서 IOException이 발생할 수 있습니다. 이를 try-catch문으로 감싸서 오류가 발생한 경우에 대한 예외 처리를 수행합니다.

이와 같은 방법으로 파일 찾기 및 검색 결과 처리 시 발생할 수 있는 오류를 적절히 처리할 수 있습니다.

이 글에서 다룬 예시 코드들은 참고용으로 사용하시기 바랍니다. 실제 상황에 맞게 코드를 수정하여 사용해야 합니다.


참고 자료: