Java I/O 스트림은 생산자-소비자 모델을 통해 데이터를 읽고 쓰는 메커니즘을 제공하여 데이터 소스와 대상 간의 통신을 단순화합니다. 스트림 유형은 바이트 스트림과 문자 스트림으로 구분됩니다. 입력 스트림은 데이터를 읽는 데 사용되며 출력 스트림은 데이터를 쓰는 데 사용됩니다. 주요 개념에는 버퍼링, 표시, 읽기/쓰기 방법 및 파일 핸들이 포함됩니다. 실제 사례: 파일에서 텍스트를 읽고 이를 다른 파일에 복사할 때 FileInputStream은 입력 스트림으로 사용되고 FileOutputStream은 출력 스트림으로 사용되며 while 루프는 바이트를 읽고 쓰고 플러시() 메서드는 버퍼를 새로 고칩니다. .
Java I/O 스트림의 원리와 핵심 개념
소개
Java I/O 스트림 메커니즘은 데이터 읽기 및 쓰기에 대한 추상화를 제공하여 다양한 유형의 데이터 소스 및 대상 간 통신을 단순화합니다. . 생산자가 데이터를 생성하고 소비자가 이를 받아 처리하는 생산자-소비자 모델을 기반으로 합니다.
스트림 유형
바이트 스트림: 이미지나 파일과 같은 원시 바이트 데이터를 읽고 씁니다.
문자 스트림: 텍스트 또는 코드와 같이 Char 유형으로 표시되는 문자 데이터를 읽고 씁니다.
입력 및 출력 스트림
입력 스트림: 은 데이터 소스에서 데이터를 읽는 데 사용됩니다.
출력 스트림: 대상에 데이터를 쓰는 데 사용됩니다.
주요 개념
read()
, write()
및 flash(). <code>read()
、write()
和 flush()
。
实战案例:
考虑以下 Java 代码从文件中读取文本并将其复制到另一个文件中:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyFile { public static void main(String[] args) { // 源文件 File sourceFile = new File("source.txt"); // 目标文件 File targetFile = new File("target.txt"); // 创建文件输入流 try (FileInputStream fis = new FileInputStream(sourceFile); // 创建文件输出流 FileOutputStream fos = new FileOutputStream(targetFile)) { // 循环读取源文件中的字节 int b; while ((b = fis.read()) != -1) { // 将读取到的字节写入目标文件 fos.write(b); } // 刷新目标文件缓冲区 fos.flush(); } catch (IOException e) { e.printStackTrace(); } } }
在这个例子中:
FileInputStream
用作 输入流,用于从 source.txt
文件中读取字节。FileOutputStream
用作 输出流,用于将字节写入到 target.txt
文件中。while
循环读取 source.txt
中的字节并将其写入 target.txt
。flush()
方法刷新 target.txt
FileInputStream
🎜이 사용됩니다. source.txt
파일에서 바이트를 읽기 위한 🎜입력 스트림🎜으로 사용됩니다. 🎜🎜🎜FileOutputStream
🎜은 target.txt
파일에 바이트를 쓰기 위한 🎜출력 스트림🎜으로 사용됩니다. 🎜🎜🎜while
🎜 source.txt
의 바이트를 읽고 target.txt
에 쓰는 루프입니다. 🎜🎜🎜flush()
🎜 메서드는 target.txt
의 버퍼를 플러시하여 모든 바이트가 파일에 기록되었는지 확인합니다. 🎜🎜위 내용은 Java I/O 스트림의 원리와 핵심 개념은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!