Je me souviens que lorsque j'ai commencé à apprendre Java, je ne comprenais pas le streaming Java Io, alors j'ai écrit cet essai et espéré que ce serait utile à ceux qui ont commencé à apprendre Java et à faciliter leur question à l'avenir. Les flux Java IO sont divisés en flux de caractères (Reader, écrivain) et des flux d'octets (InputStream, OutputStream). Les flux d'octets, comme son nom l'indique, les flux d'octets sont de lire le contenu des fichiers dans des tableaux d'octets, puis de les sortir dans un autre fichier. La plus petite unité d'opérations de streaming de caractères est les caractères. Jetons un coup d'œil à l'aperçu des flux IO:
Ce qui suit est la première chose à lire et à écrire le fichier via un flux de caractères:
package lib; importer java.io.bufferedReader; import java.io.file; import java.io.filenotfoundException; import java.io.fileReader; import java.io.filewriter; File ("f: //test.txt"); // Méthode pour écrire des caractères Stream public String writeInfile () lève ioException {String str = ""; String count = ""; essayez {// Utilisez le flux de caractères pour lire le fichier bufferedReader bf = new BuffereDReader (nouveau fileReader (f)); while (true) {// Lisez chaque ligne de données et attribuez-les à str if ((count = bf.readline ())! = null) {str + = count; } else {break; }} // Fermez le flux bf.close (); } catch (filenotFoundException e) {e.printStackTrace (); } return str; }! S'il n'est pas écrit, cela signifie vider le fichier et ajouter le contenu. Printwriter pw = new printwriter (new FileWriter (f, true)); pw.write ("Tester la chaîne d'entrée dans le fichier 2"); pw.close (); } catch (ioException e) {e.printStackTrace (); }} public static void main (string [] args) lève ioException {test test = new test (); // entre la chaîne dans le fichier test.getReader (); // Lire la chaîne de chaîne correspondante str = test.WriteInfile (); // ouvrir System.out.println ("Contenu de fichier:" + str); }}Il y a des commentaires dans les points clés du code ci-dessus, donc je n'entrerai pas dans les détails un par un. L'essentiel est que vous n'oubliez pas de fermer après avoir utilisé le flux.
Ensuite, opérez sur le fichier via un flux d'octets, en copie le contenu d'un fichier à un autre:
package com.file.test2; import java.io.file; import java.io.fileInputStream; import java.io.filenotfoundException; import java.io.fileoutputStream; import java.io.ioexception IoException {// Le fichier source à copier f = nouveau fichier ("d: //test.txt"); // Fichier cible Fichier F2 = nouveau fichier ("d: //test2.txt"); // Définissez un tableau de type d'octet pour stocker le contenu de lecture octet [] b = nouveau octet [1024]; longueur int; essayez {// définissez le flux de lecture fileInputStream dans = new FileInputStream (f); // Définissez la sortie du flux dans le fichier fileOutputStream out = new FileOutputStream (F2); // Sortie du contenu du fichier vers un autre fichier while ((Longueur = in.Read (b))! = - 1) {out.write (b, 0, longueur); } out.close (); joindre(); } catch (filenotFoundException e) {e.printStackTrace (); }}}Dans le fonctionnement du flux d'octets, le fichier source sur la ligne 13 doit exister. Vous pouvez modifier le chemin du fichier vous-même selon les besoins. Vous n'avez qu'à exister. Sinon, une erreur que le fichier ne peut être trouvé sera signalée. En même temps, si vous souhaitez sortir le contenu du flux de lecture de l'octet sur la console, vous pouvez ajouter deux codes entre les lignes 27 et 28: in.read (b, 0, b.length); System.out.println (nouvelle chaîne (b));
Ce qui précède sont des opérations liées de flux de caractères et de flux d'octets. En fait, le code n'est pas difficile, il s'agit principalement de sa propre compréhension. Tout le monde aura des façons différentes de comprendre les mêmes problèmes. Bien sûr, pour les programmeurs américains, en plus de penser plus, nous devons également en faire plus. Enfin, j'espère que le contenu ci-dessus sera utile à tout le monde et continuez à soutenir ce site.