자바 중급 문법 – 입출력과 파일 처리 – 1 – 파일 입출력 (File 클래스, FileInputStream, FileOutputStream 등)

자바 중급 문법 - 입출력과 파일 처리 - 1 - 파일 입출력 (File 클래스, FileInputStream, FileOutputStream 등)
자바 중급 문법 – 입출력과 파일 처리 – 1 – 파일 입출력 (File 클래스, FileInputStream, FileOutputStream 등)

자바 중급 문법 – 입출력과 파일 처리 – 1 – 파일 입출력 (File 클래스, FileInputStream, FileOutputStream 등)

소제목: 파일 입출력 기본 개념과 File 클래스

파일 입출력은 자바 프로그램에서 파일을 읽고 쓰는 작업을 의미합니다. 이를 통해 데이터를 파일에 저장하거나 파일로부터 데이터를 읽어올 수 있습니다. 파일 입출력을 위해 자바에서는 File 클래스, FileInputStream, FileOutputStream 등의 클래스를 제공합니다. 이제 각각의 클래스를 살펴보며 어떻게 사용하는지 알아보겠습니다.

File 클래스

File 클래스는 파일이나 디렉토리의 경로를 다루는 데 사용됩니다. 파일을 생성, 삭제, 이름 변경 등의 작업을 수행할 수 있습니다. 파일 입출력을 하기 전에 우선 파일의 경로와 이름을 다룰 수 있어야 합니다. File 클래스를 사용하여 파일을 다루는 예시를 살펴보겠습니다.

File file = new File("경로/파일이름.txt");

위 예시에서는 File 객체를 생성하고, 경로와 파일 이름을 전달하여 초기화합니다. 이렇게 생성한 file 객체를 통해 파일에 대한 다양한 작업을 수행할 수 있습니다. 예를 들어, 파일이 존재하는지 확인하거나, 파일의 이름을 변경하는 등의 작업을 할 수 있습니다.

소제목: FileInputStream과 FileOutputStream을 이용한 파일 입출력

파일의 내용을 읽거나 쓰기 위해서는 FileInputStreamFileOutputStream 클래스를 사용합니다. FileInputStream은 파일로부터 데이터를 읽어오는데 사용되고, FileOutputStream은 파일에 데이터를 쓰는 데 사용됩니다.

파일에서 데이터 읽기 – FileInputStream

FileInputStream 클래스를 사용하여 파일에서 데이터를 읽어오는 예시를 살펴보겠습니다.

try {
    FileInputStream fis = new FileInputStream(file);
    int data;
    while ((data = fis.read()) != -1) {
        System.out.print((char) data);
    }
    fis.close();
} catch (IOException e) {
    e.printStackTrace();
}

위 예시에서는 FileInputStream 객체를 생성하고, read() 메서드를 사용하여 파일에서 데이터를 한 바이트씩 읽어옵니다. 읽어온 데이터는 정수로 반환되며, -1일 경우 파일의 끝을 의미합니다. 따라서 반복문을 통해 파일의 끝까지 데이터를 읽어오고, 읽어온 데이터를 문자로 변환하여 출력합니다.

데이터 파일에 쓰기 – FileOutputStream

FileOutputStream 클래스를 사용하여 데이터를 파일에 쓰는 예시를 살펴보겠습니다.

try {
    FileOutputStream fos = new FileOutputStream(file);
    String data = "Hello, World!";
    fos.write(data.getBytes());
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

위 예시에서는 FileOutputStream 객체를 생성하고, write() 메서드를 사용하여 데이터를 파일에 씁니다. getBytes() 메서드를 사용하여 문자열을 바이트 배열로 변환하여 파일에 씁니다. 이를 통해 파일에 “Hello, World!”라는 내용을 쓰게 됩니다.

비유적인 표현을 사용한 쉬운 이해

파일 입출력을 비유적인 표현으로 설명해보겠습니다. 생각해보세요, 파일은 마치 일기를 적을 수 있는 공책과도 같습니다. File 클래스는 그 공책의 위치를 알려주는 지도와 같은 역할을 합니다. 우리는 그 공책을 읽어오거나, 내용을 쓰거나, 잃어버린 공책을 찾을 수도 있습니다.

또한, FileInputStream은 공책을 읽는 펜, FileOutputStream은 공책에 글씨를 쓰는 펜이라고 생각해볼 수 있습니다. 읽는 펜으로 공책에 적힌 글을 읽어오거나, 쓰는 펜으로 새로운 글을 적을 수 있습니다. 이를 통해 파일에 저장된 데이터를 읽고 쓸 수 있게 됩니다.

주의해야 할 점

  • 파일 입출력 시 예외 처리를 잊지 말아야 합니다. 입출력 작업은 외부와의 상호작용이기 때문에 예상치 못한 문제가 발생할 수 있습니다. try-catch 문을 사용하여 예외를 처리해야 합니다.
  • 파일을 다룰 때 파일의 경로와 이름을 정확히 지정해야 합니다. 파일의 경로를 잘못 지정하면 파일을 찾지 못하거나 다른 파일을 열게 될 수 있습니다.
  • 파일을 다루고 난 후에는 반드시 파일을 닫아야 합니다. close() 메서드를 사용하여 파일을 닫으면 파일 자원을 해제하여 다른 프로세스가 해당 파일에 접근할 수 있게 됩니다.

이렇게 자바의 파일 입출력에 대한 기본 개념과 File 클래스, FileInputStream, FileOutputStream 클래스에 대해 알아보았습니다. 파일 입출력은 자바 프로그래밍에서 중요한 부분이므로 꼭 알아두시기 바랍니다.

이 포스팅이 자바 중급 학습을 위한 좋은 출발점이 되었으면 합니다. 앞으로의 공부에 힘을 내어 주세요!

주의해야 할 점을 보기쉽게 정리하면 다음과 같습니다:

  1. 예외 처리: 파일 입출력 작업에서 발생할 수 있는 예외를 처리해야 합니다.
  2. 올바른 파일 경로: 파일을 다룰 때 정확한 경로와 이름을 지정해야 합니다.
  3. 파일 닫기: 파일 작업이 끝나면 반드시 파일을 닫아야 합니다. close() 메서드를 사용하여 파일을 닫습니다.

답글 남기기