1. Classification des flux IO
Flux de personnage
Lecteur
InputStreamReader (Node Stream)
BufferedReader (Traitement Streams)
Écrivain
OutputStreamWriter (Node Stream)
BufferedWriter (Traitement Streams)
Gravure
Ruisseau d'octets
Entrée
FileInputStream (Node Stream)
BufferedInputStream (Traitement Streams)
ObjectInputStream (Traitement Streams)
Accumulé
Sortie de sortie
FileOutputStream (Node Stream)
BufferedOutputStream (Traitement Streams)
ObjectOutputStream (Traitement Streams)
Flux de traitement des points d'arrêt
RandomAccessfile
2. Utilisation des flux IO
1. Utilisation des flux de conversion
FileInputStream dans = new FileInputStream (newFile ("")); ReadErReader = new inputStreamReader (in); // byte to Caractor FileOutputStreamout = new FileOutputStream (newFile ("")); Écrivain écrivain = new outputStreamWriter (out); // charact à octet2. Sérialisation de l'objet, l'objet doit implémenter l'interface sérialisable
FileOutputStreamFileOutPutStream = new FileOutputStream ("C: //users//lx//desktop//record.txt"); ObjectOutputStreamObjectOutStStream = new ObjectOutputStream (fileOutputStream); objectOutputStream.WriteObject (objet); // Écrivez un objet dans le fichier spécifié objectOutputStream.close (); FileInputStreamFileInputStream = new FileInputStream ("c: //users//lx//desktop//record.txt"); ObjectInputStreamObjectInputStream = new ObjectInputStream (fileInputStream); object = objectInputStream.readObject (); // Lisez l'objet File FileInputStream.Lose ();3. Application des points d'arrêt
La classe publique Copy étend Thread {// Vous pouvez utiliser MultithRead pour réaliser Copy Longstart; Longend; FichierSorce; FileTargetDir; publicCopy () {} publicCopy (Longstart, Long End, File Component, Fichier TargetDir) {// Utilisez le constructeur pour passer la longueur de la copie, la position de début de la copie, ainsi que le fichier cible et le fichier source Super Super ();); this.start = start; this.end = end; this.sorce = tri; this.targetDir = TargetDir;} @ Override publicVoid run () {try {randomaccessFilesouceraf = new randomaccessfile (sorce, "r"); randomaccessFileTargetraf = new RandomAccessFile (newFile (TargetDir, Sorce.getName ()), "RW"); Souceraf.seek (start); Targetraf.seek (start); intlen = 0; byte [] bs = new Byte [1024]; longseek; System.out.println (start + "--->" + fin + this.getname (); Souceraf.read (bs))! = - 1) {targetraf.write (bs, 0, len); Seek = Souceraf.getFilePointer (); // Get Breakpoint Position if (Seek {e.printStackTrace ();}}}4. Utilisation des ruisseaux d'octets
classe publique test_inputStream {// Utilisez des flux d'octets pour obtenir du contenu de fichier texte, mais les problèmes sont susceptibles de se produire / * // int le long peut être hors des limites publiques static void main (String [] args) lance ioException {inputStream inputStream = new FileInputStream (nouveau fichier ("c: //users/lx//desktop//TEST//33.txt"); octet [] b = nouveau octet [inputStream.Available ()]; inputStream.read (b); String str = nouvelle chaîne (b); System.out.println (STR); } * /// Le code brouillé peut apparaître public static void main (String [] args) lève ioException {file file = new File ("c: //users//lx//desktop//test//33.txt"); entrée introutStream = new FileInputStream (fichier); // statistics la longueur réelle de chaque lecture int len = 0; // disque 1024 bys réel de chaque lecture intle = 0; // disque 1024 bytes par rapport à chaque lecture int len = 0; // Declare 1024 bys Byte [] b = new Byte [2]; stringBuffer sbuffer = new StringBuffer (); tandis que ((len = inputStream.read (b))! = - 1) {sbuffer.append (new String (b, 0, len));} System.out.println (sbuffer.Tostring ());}} // copier le fichier à l'aide de Byt Stream Void Copy (fichier SourceFile, File TargetDir) {// fileinputStreamFileInStream = null; fileOutputStreamFileOutputStream = null; fileInputStream = new FileInputStream (sourceFile); filetargetFile = new File (TargetDir, sourceFile.getName ()); fileoutputStream = new FileOutputStream (cibleFile); byte [] b = new Byte [1024]; Intlen = 0; ! = -1) {fileoutputStream.write (b, 0, len);}}5. Utilisation des flux de personnages mis en cache
PublicStatic void Main (String [] args) lève IOException {// mise en œuvre de flux de caractères cached pour écrire des fichiers inputStreamin = System.in; ReadErReader = new InputStreamReader (IN); BuffereDReader = new BufferedReader (Reader); File ("src / 1.txt"))); strings = ""; while ((s = br.readline ())! = Null) {bw.write (s); bw.newline (); bw.flush (); // Les flux de caractères n'oublient pas Flush !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}}Résumer
Ce qui précède est tout le contenu de cet article sur l'analyse du code de connaissances lié au flux Java IO, j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!