recherche
MaisonJavajavaDidacticielFlux d'octets et flux de caractères d'apprentissage JAVA pour les opérations d'E/S (partage de résumé)

Cet article vous apporte des connaissances pertinentes sur java. Il présente principalement les problèmes liés aux opérations d'E/S, y compris les flux d'octets et les flux de caractères. J'espère qu'il sera utile à tout le monde.

Flux d'octets et flux de caractères d'apprentissage JAVA pour les opérations d'E/S (partage de résumé)

Étude recommandée : "Tutoriel vidéo Java"

Avant-propos : Ce chapitre présente en détail l'utilisation de base du flux d'octets et du flux de caractères, avec des illustrations entrecoupées d'implémentation de code.

Opération IO

Flux doctets et flux de caractères dapprentissage JAVA pour les opérations dE/S (partage de résumé)

byte stream

  • java.io.InputStream flux d'entrée, principalement utilisé pour lire le contenu des fichiers.

  • Java.io.OutputStream flux de sortie, principalement utilisé pour écrire des octets de contenu dans des fichiers.

FileInputStream

Ce flux est utilisé pour lire les données d'un fichier, et son objet peut être créé avec le mot-clé new.
Il existe différentes méthodes de constructeur utilisées pour créer des objets.
Vous pouvez utiliser un nom de fichier de type chaîne pour créer un objet de flux d'entrée pour lire le fichier

InputStream f = new FileInputStream("D:/hello");

Vous pouvez également utiliser un objet fichier pour créer un objet de flux d'entrée pour lire le fichier. Nous devons d'abord utiliser la méthode File() pour créer un objet fichier :

File f = new File("D:/hello");InputStream in = new FileInputStream(f);

FileOutputStream

Cette classe est utilisée pour créer un fichier et écrire des données dans le fichier.
Si le fichier cible n'existe pas avant que le flux n'ouvre le fichier pour la sortie, alors le flux créera le fichier.
Deux constructeurs peuvent être utilisés pour créer des objets FileOutputStream.
Utilisez un nom de fichier de type chaîne pour créer un objet de flux de sortie :

OutputStream f = new FileOutputStream("D:/hello");

Vous pouvez également utiliser un objet fichier pour créer un flux de sortie afin d'écrire des fichiers. Nous devons d'abord utiliser la méthode File() pour créer un objet fichier :

File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);

Cas de lecture et d'écriture du flux d'octets

Lisez le contenu du fichier D:/hello.txt puis saisissez-le dans le fichier D:/test.

      public class Mk {
        public static void main(String[] args) throws IOException {
            File file=new File("D://hello.txt");
            File file1= new File("D://test.txt");
            InputStream is=new FileInputStream(file);
            OutputStream out=new FileOutputStream(file1);
            //定义byte数组用来暂存数据
            byte[] buf = new byte[1024];
            //读取Is中的内容存到buf
            is.read(buf);
            //将buf中的内容写入out
            out.write(buf);
            is.close();
            out.close();
        }
        }

Flux de caractères en txt

FileWriter

Exemple d'écriture de fichier

public class A {
    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("user.txt", true);
        fw.write("你好中国1");
        fw.write("你好中国2");
        fw.write("你好中国3");
        fw.close();
    }}

Flux doctets et flux de caractères dapprentissage JAVA pour les opérations dE/S (partage de résumé)
Flux doctets et flux de caractères dapprentissage JAVA pour les opérations dE/S (partage de résumé)

FileReader

Exemple de fichier de lecture
J'ai modifié le contenu en nouveau lignes ici
Flux doctets et flux de caractères dapprentissage JAVA pour les opérations dE/S (partage de résumé)
br .ready() sert à déterminer si ce flux de ligne est vide
br.readLine() sert à afficher une ligne, puis à pointer automatiquement le curseur vers la ligne suivante.

public class A {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("user.txt"));
        while (br.ready()) {
            System.out.println(br.readLine());
        }
        br.close();
    }}

Flux doctets et flux de caractères dapprentissage JAVA pour les opérations dE/S (partage de résumé)

La différence entre le flux d'octets et le flux de caractères

L'utilisation du flux d'octets et du flux de caractères est très similaire, donc à part la différence de code d'opération, quelles sont les différences ?

Le flux d'octets lui-même n'utilise pas le tampon (mémoire) lors du fonctionnement, il est directement exploité avec le fichier lui-même, tandis que le flux de caractères utilise le tampon lors du fonctionnement
Le flux d'octets est Lors de l'exploitation d'un fichier, le fichier peut être affiché même si la ressource n'est pas fermée (méthode close). Cependant, si le flux de caractères n'utilise pas la méthode close, aucun contenu ne sera affiché, indiquant que le flux de caractères utilise un tampon et peut être forcé à l'aide de la méthode flush. Actualisez le tampon, puis le contenu peut être affiché sans fermeture. Ainsi, en développement, est-il préférable d'utiliser un flux d'octets ou un flux de caractères ?

Lors de l'enregistrement ou du transfert de fichiers sur tous les disques durs, ils sont effectués en octets, y compris les images, et les caractères ne sont formés qu'en mémoire, les octets sont donc les opérations les plus courantes. Si vous souhaitez qu'un programme Java implémente une fonction de copie, vous devez utiliser un flux d'octets pour le fonctionnement (l'image peut être copiée), et lire et écrire en même temps (pour économiser de la mémoire).

Apprentissage recommandé : "
Tutoriel vidéo Java

"

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!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?Mar 17, 2025 pm 05:46 PM

L'article discute de l'utilisation de Maven et Gradle pour la gestion de projet Java, la construction de l'automatisation et la résolution de dépendance, en comparant leurs approches et leurs stratégies d'optimisation.

How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?Mar 17, 2025 pm 05:45 PM

L'article discute de la création et de l'utilisation de bibliothèques Java personnalisées (fichiers JAR) avec un versioning approprié et une gestion des dépendances, à l'aide d'outils comme Maven et Gradle.

Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave?Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave?Mar 17, 2025 pm 05:44 PM

L'article examine la mise en œuvre de la mise en cache à plusieurs niveaux en Java à l'aide de la caféine et du cache de goyave pour améliorer les performances de l'application. Il couvre les avantages de configuration, d'intégration et de performance, ainsi que la gestion de la politique de configuration et d'expulsion le meilleur PRA

Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux?Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux?Mar 17, 2025 pm 05:43 PM

L'article discute de l'utilisation de JPA pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux. Il couvre la configuration, la cartographie des entités et les meilleures pratiques pour optimiser les performances tout en mettant en évidence les pièges potentiels. [159 caractères]

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?Mar 17, 2025 pm 05:35 PM

Le chargement de classe de Java implique le chargement, la liaison et l'initialisation des classes à l'aide d'un système hiérarchique avec Bootstrap, Extension et Application Classloaders. Le modèle de délégation parent garantit que les classes de base sont chargées en premier, affectant la classe de classe personnalisée LOA

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser