Les flux d'E/S Java fournissent un mécanisme de lecture et d'écriture de données via un modèle producteur-consommateur, simplifiant ainsi la communication entre les sources de données et les destinations. Les types de flux sont divisés en flux d'octets et flux de caractères. Le flux d'entrée est utilisé pour lire les données et le flux de sortie est utilisé pour écrire des données. Les concepts clés incluent la mise en mémoire tampon, le marquage, les méthodes de lecture/écriture et les descripteurs de fichiers. Cas pratique : lors de la lecture du texte d'un fichier et de sa copie dans un autre fichier, FileInputStream est utilisé comme flux d'entrée, FileOutputStream est utilisé comme flux de sortie, la boucle while lit les octets et les écrit, et la méthode flush() rafraîchit le tampon. .
Principes et concepts clés des flux d'E/S Java
Introduction
Le mécanisme de flux d'E/S Java fournit une abstraction pour la lecture et l'écriture de données, simplifiant ainsi différents types de sources de données et de destinations de communication entre . Il est basé sur le modèle producteur-consommateur, où les producteurs génèrent des données et les consommateurs les reçoivent et les traitent.
Types de flux
Flux d'octets : Lisez et écrivez des données d'octets brutes, telles que des images ou des fichiers.
Flux de caractères : Lisez et écrivez des données de caractères, représentées par le type Char, telles que du texte ou du code.
Flux d'entrée et de sortie
Flux d'entrée : est utilisé pour lire les données de la source de données.
Flux de sortie : Utilisé pour écrire des données vers la destination.
Concepts clés
read()
, write()
et flush(). <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
🎜 est utilisé en tant que 🎜flux d'entrée🎜 pour lire les octets du fichier source.txt
. 🎜🎜🎜FileOutputStream
🎜 est utilisé comme 🎜flux de sortie🎜 pour écrire des octets dans le fichier target.txt
. 🎜🎜🎜while
🎜 Boucles pour lire les octets dans source.txt
et les écrire dans target.txt
. La méthode 🎜🎜🎜flush()
🎜 vide le tampon de target.txt
pour garantir que tous les octets ont été écrits dans le fichier. 🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!