파일 입출력

JH·2024년 2월 15일

java

목록 보기
10/21

파일 출력

파일 출력은 프로그램에서 처리한 데이터를 파일에 쓰는 방법을 의미한다. 자바에서는 다양한 방법으로 파일 출력을 할 수 있다.

  • FileOutputStream: FileOutputStream 클래스를 사용하여 바이트 단위로 파일에 데이터를 출력한다.

  • FileWriter: FileWriter 클래스를 사용하여 문자 단위로 파일에 데이터를 출력한다. FileWriter는 OutputStreamWriter의 서브클래스이며, 문자 스트림을 바이트 스트림으로 변환하여 출력한다.

  • PrintWriter: PrintWriter 클래스를 사용하여 텍스트 형식으로 파일에 데이터를 출력한다. PrintWriter는 다양한 자료형의 데이터를 출력할 수 있으며, 서식화된 출력을 지원한다.

파일 출력 코드 예시

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Main {
    public static void main(String[] args) {
        String fileName = "output.txt";
        
        // FileOutputStream을 사용하여 파일 출력하는 예시
        try {
            FileOutputStream fos = new FileOutputStream(fileName);
            fos.write("Hello, World!".getBytes());
            fos.close();
            System.out.println("파일이 성공적으로 출력되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }

        // FileWriter를 사용하여 파일 출력하는 예시
        try {
            FileWriter fw = new FileWriter(fileName);
            fw.write("Hello, World!");
            fw.close();
            System.out.println("파일이 성공적으로 출력되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }

        // PrintWriter를 사용하여 파일 출력하는 예시
        try {
            PrintWriter pw = new PrintWriter(fileName);
            pw.println("Hello, World!");
            pw.close();
            System.out.println("파일이 성공적으로 출력되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 예시에서는 각각의 방법으로 파일을 출력하는 코드를 보여준다. 각각의 클래스를 사용하여 파일을 생성하고 데이터를 파일에 출력한다. 파일 출력 후에는 반드시 스트림을 닫아 리소스를 해제해야 한다.

파일 입력

파일 입력은 파일로부터 데이터를 읽어오는 방법을 의미한다. 자바에서는 다양한 방법으로 파일 입력을 할 수 있다.

  • FileInputStream: FileInputStream 클래스를 사용하여 바이트 단위로 파일에서 데이터를 입력한다.

  • BufferedReader: BufferedReader 클래스를 사용하여 문자 단위로 파일에서 데이터를 입력한다. FileReader 클래스를 이용하여 파일의 문자 스트림을 생성하고, BufferedReader로 버퍼링된 문자 입력 스트림을 생성한다.

파일 입력 코드 예시

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

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

        // FileInputStream을 사용하여 파일 입력하는 예시
        try {
            FileInputStream fis = new FileInputStream(fileName);
            int data;
            while ((data = fis.read()) != -1) {
                System.out.print((char) data);
            }
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        // BufferedReader를 사용하여 파일 입력하는 예시
        try {
            BufferedReader br = new BufferedReader(new FileReader(fileName));
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 예시에서는 각각의 방법으로 파일을 입력받는 코드를 보여준다. FileInputStream을 사용하여 파일을 바이트 단위로 읽고, BufferedReader를 사용하여 파일을 문자 단위로 읽는다. 읽은 데이터를 콘솔에 출력하고, 파일 입력 후에는 반드시 스트림을 닫아 리소스를 해제한다.

profile
발전하는 백엔드 개발자

0개의 댓글