English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 상대적 객체(I)

Java 상대적 객체(II)

Java 상대적 객체(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map集合

Java Set集合

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java FileOutputStream 클래스

이 튜토리얼에서는 예제를 통해 Java FileOutputStream 및 메서드를 배웁니다.

java.io 패키지의 FileOutputStream 클래스는 데이터(바이트 단위로)를 파일에 쓰기 위해 사용됩니다.

OutputStream 추상 클래스를 상속받았습니다.

FileOutputStream를 공부하기 전에,Java 파일.

FileOutputStream 생성

파일 출력 스트림을 생성하기 위해 먼저 java.io.FileOutputStream 패키지를 가져오아야 합니다. 패키지를 가져온 후 Java로 파일 출력 스트림을 생성할 수 있습니다.

1. 파일 경로를 사용합니다.

//부울 파라미터 포함
FileOutputStream output = new FileOutputStream(String path, boolean value);
//부울 파라미터 포함하지 않음
FileOutputStream output = new FileOutputStream(String path);

여기서는 지정된 파일 경로에 연결된 출력 스트림을 생성합니다.

또한, value는 선택 사항인 부울 파라미터입니다. true로 설정하면 새 데이터가 파일에 있는 기존 데이터의 끝에 추가됩니다. 그렇지 않으면 새 데이터가 파일에 있는 기존 데이터를 덮습니다.

2. 파일 객체를 사용합니다.

FileOutputStream output = new FileOutputStream(File fileObject);

여기서는 fileObject이 지정한 파일에 연결되는 출력 스트림을 생성합니다.

FileOutputStream 메서드

FileOutputStream 클래스는 OutputStream 클래스에서 등장하는 다양한 메서드를 구현합니다.

write() 메서드

  • write() - 단일 바이트를 byte 파일 출력 스트림에 기록합니다

  • write(byte[] array) - 지정된 배열의 바이트를 출력 스트림에 기록합니다

  • write(byte[] array, int start, int length)-start 위치에서 length 길이의 바이트를 배열의 출력 스트림에 기록합니다

예제: FileOutputStream이 파일에 데이터를 기록

import java.io.FileOutputStream;
public class Main {
    public static void main(String[] args) {
        
        String data = "这是文件中的一行文本。";
        try {
            FileOutputStream output = new FileOutputStream("output.txt");
            byte[] array = data.getBytes();
            //바이트를 파일에 기록합니다
            output.write(array);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

위 예제에서는 output이라는 이름의 파일 출력 스트림을 생성했습니다. 파일 출력 스트림은 파일과 연결됩니다.output.txt연결.

FileOutputStream output = new FileOutputStream("output.txt");

데이터를 파일에 기록하려면 write() 메서드를 사용합니다.

프로그램을 실행할 때,output.txt파일에 다음 내용이 기록됩니다.

이 파일의 한 줄 텍스트입니다.

주의:문자열을 바이트 배열로 변환하는 getBytes() 메서드를 사용하여 프로그램에서 사용됩니다.

flush() 메서드

출력 스트림을 지우기 위해 flush() 메서드를 사용할 수 있습니다. 이 메서드는 출력 스트림이 모든 데이터를 목표로 강제로 기록합니다. 예를 들어,

import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
    public static void main(String[] args) throws IOException {
        FileOutputStream out = null;
        String data = "这是flush方法的演示";
        try {
            out = new FileOutputStream("flush.txt");
            //write() 메서드를 사용합니다.
            out.write(data.getBytes());
            //flush() 메서드를 사용합니다.
            out.flush();
            out.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

프로그램을 실행할 때, 파일flush.txtstring으로 표현된 텍스트 데이터 data로 가득 차 있습니다.

close() 메서드

파일 출력 스트림을 닫으려면 close() 메서드를 사용할 수 있습니다. 이 메서드를 호출하면 FileOutputStream의 메서드를 사용할 수 없게 됩니다.

FileOutputStream의 다른 메서드

메서드내용 설명
finalize()close() 메서드가 호출되었는지 확인하십시오.
getChannel()FileChannel과 연결된 출력 스트림과 관련된 객체를 반환합니다.
getFD()출력 스트림과 연결된 파일 설명자를 반환합니다.