【JAVA】-【IO流】

Insérer la description de l'image ici
Insérer la description de l'image ici
Insérer la description de l'image ici
Insérer la description de l'image ici
Vous pouvez également utiliser des flux d'octets pour copier des fichiers texte, mais ne les lisez pas en mémoire, comme system.out().
Insérer la description de l'image ici

Opérations de base de la lecture des données FileReader

Le fonctionnement du flux IO peut être résumé en 4 étapes :

  1. Java est orienté objet. Si vous souhaitez lire un fichier, vous devez d'abord avoir un objet pour représenter le fichier, donc :File file = new File("hello.text");
  2. La lecture et l'écriture de fichiers sont une opération de flux, donc une instanciation d'un flux est également requise : FileReader fr = new FileReader(file);ici, parce que le fichier texte est exploité, le contenu du fichier est lu dans la mémoire via des caractères, donc le flux FileReader est utilisé. Après cela, vous Pour exploiter d'autres contenus d'une autre manière, vous devez modifier le flux
  3. Effectuer des opérations sur les fichiers : lecture/écriture
  4. Fermez la ressource, c'est-à-dire fermez le flux d'E/S.
    Insérer la description de l'image ici
    L'adresse de new File() dans la méthode principale est comparée à ce projet, ce qui équivaut à ce qu'il se trouve sur ce projet, et l'adresse de new File() dans le scénario de test est comparé à
    Optimize
    Insérer la description de l'image ici
     : le code que nous avons écrit précédemment gère les exceptions en lançant des exceptions, mais si new FileReader(file) est exécuté pour ouvrir le flux IO, puis fr.read() rencontre une exception, l'exception sera être rejeté, ce qui entraîne la non-exécution de fr.close() et la fermeture du flux d'E/S. Il existe des problèmes de gaspillage de ressources et de fuite de mémoire. Par conséquent, try...
    Insérer la description de l'image ici
    catch...finally doit être utilisé pour intercepter les exceptions afin de garantir que peu importe où une exception se produit, les flux IO seront fermés
    Insérer la description de l'image ici
    Insérer la description de l'image ici
    Insérer la description de l'image ici

Utilisation de reader() dans FileReader

Si la fin du fichier est atteinte, -1 est renvoyé. reader(char[] cbuf) : équivalent au lecteur utilisant cbuf pour charger le contenu du fichier. Si le contenu du fichier est supérieur à la longueur de cbuf, alors les caractères cbuf peuvent être lus. Sinon, le contenu du fichier lu est inférieure à la longueur de cbuf. Il y aura des données non récupérées dans le tableau cbuf, ce qui est la raison d'une mauvaise écriture. Par exemple : si le contenu du fichier hello.txt est : helloworld123, alors la première fois qu'il est lu est bonjour, la deuxième fois qu'il est lu est monde, et la troisième fois qu'il est lu est 123ème, il est donc jugé que à chaque lecture. Combien y a-t-il de caractères ? Utilisez la valeur de retour de reader(char[] cbuf) au lieu de la longueur du tableau cbuf.
Insérer la description de l'image ici
Insérer la description de l'image ici

Opération FileWrite pour écrire des données

Insérer la description de l'image ici
Insérer la description de l'image ici
Insérer la description de l'image ici

Utilisez FileInputStream et FileOutputStream pour manipuler des images

Insérer la description de l'image ici
Insérer la description de l'image ici

Le flux tampon (type octet) implémente la copie de fichiers non texte

Flux tampon : Afin d'améliorer l'efficacité de la lecture et de l'écriture des fichiers, il peut améliorer l'efficacité de la lecture et de l'écriture car il fournit une zone tampon interne. Lors de la lecture, il lira d'abord le fichier dans le tampon. Lorsque le tampon est plein, Une fois de plus écrit, la taille par défaut du tampon est de 8 octets. Il existe une méthode flush() dans bufferOutputStream pour actualiser le tampon, c'est-à-dire lire et écrire des données dans le tampon, puis les effacer.
Généralement, les flux mis en mémoire tampon sont utilisés pour le développement.
Veuillez ajouter une description de l'image
Veuillez ajouter une description de l'image
La fermeture du flux interne peut être omise
Veuillez ajouter une description de l'image

Je suppose que tu aimes

Origine blog.csdn.net/CaraYQ/article/details/132028415
conseillé
Classement