SeouliteLab

[Java/자바] BufferedReader를 사용한 파일 읽기 본문

프로그래밍

[Java/자바] BufferedReader를 사용한 파일 읽기

Seoulite Lab 2024. 3. 7. 08:45

Java에서 파일을 읽기 위해 BufferedReader를 사용할 수 있습니다. 이를 통해 파일에서 텍스트 데이터를 읽을 수 있습니다. BufferedReader를 사용하여 파일을 읽는 방법을 살펴보겠습니다.

BufferedReader 클래스

BufferedReader는 문자를 읽는 데 사용되는 입력 스트림입니다. 버퍼를 사용하여 파일에서 한 번에 한 줄씩 텍스트를 읽을 수 있습니다.

예제 1: BufferedReader를 사용하여 파일에서 문자열 읽기

// 사용되는 디렉토리: src/com/example
// 파일명: BufferedReaderExample.java

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

public class BufferedReaderExample {
    public static void main(String[] args) {
        String fileName = "input.txt";

        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.err.println("Error reading the file: " + e.getMessage());
        }
    }
}

예제 2: BufferedReader를 사용하여 파일에서 숫자 읽기

// 사용되는 디렉토리: src/com/example
// 파일명: NumberReader.java

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

public class NumberReader {
    public static void main(String[] args) {
        String fileName = "numbers.txt";

        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                int number = Integer.parseInt(line);
                System.out.println("Read number: " + number);
            }
        } catch (IOException | NumberFormatException e) {
            System.err.println("Error reading the file: " + e.getMessage());
        }
    }
}

예제 3: BufferedReader를 사용하여 파일에서 CSV 데이터 읽기

// 사용되는 디렉토리: src/com/example
// 파일명: CSVReader.java

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

public class CSVReader {
    public static void main(String[] args) {
        String fileName = "data.csv";

        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                String[] parts = line.split(",");
                for (String part : parts) {
                    System.out.print(part + " ");
                }
                System.out.println();
            }
        } catch (IOException e) {
            System.err.println("Error reading the file: " + e.getMessage());
        }
    }
}

예제 4: BufferedReader를 사용하여 파일에서 JSON 데이터 읽기

// 사용되는 디렉토리: src/com/example
// 파일명: JSONReader.java

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

public class JSONReader {
    public static void main(String[] args) {
        String fileName = "data.json";

        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.err.println("Error reading the file: " + e.getMessage());
        }
    }
}

예제 5: BufferedReader를 사용하여 파일에서 XML 데이터 읽기

// 사용되는 디렉토리: src/com/example
// 파일명: XMLReader.java

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

public class XMLReader {
    public static void main(String[] args) {
        String fileName = "data.xml";

        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.err.println("Error reading the file: " + e.getMessage());
        }
    }
}

예제 6: BufferedReader를 사용하여 파일에서 특정 문자열 읽기

// 사용되는 디렉토리: src/com/example
// 파일명: StringReader.java

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

public class StringReader {
    public static void main(String[] args) {
        String fileName = "text.txt";
        String searchString = "keyword";

        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = reader.readLine()) != null) {
                if (line.contains(searchString)) {
                    System.out.println("Found: " + line);
                }
            }
        } catch (IOException e) {
            System.err.println("Error reading the file: " + e.getMessage());
        }
    }
}