Les méthodes de lecture et d'écriture du flux d'entrée et de sortie d'octets de fichier utilisent des tableaux d'octets pour lire et écrire des données, c'est-à-dire pour traiter les données en octets. Par conséquent, les flux d’octets ne fonctionnent pas correctement avec les caractères Unicode . Par exemple, un caractère chinois occupe 2 octets dans le fichier Si un flux d'octets est utilisé, des « caractères tronqués » apparaîtront s'ils sont mal lus.
Les flux d'octets FileInputStream et FileOutputStream correspondent aux flux de caractères FileReader et FileWriter (les flux d'entrée et de sortie de caractères de fichier FileReader et FileWriter sont respectivement des sous-classes de Reader et Writer, et leurs méthodes de construction sont :
FileReader(Stringfilename);FileReader(Filefilename);Fi1eWriter(Stringfilename);FileWriter(Filefilename);FileWriter(Stringfilename,booleanappend);FileWriter(Filefilename,booleanappend);
Les méthodes de lecture et d'écriture des flux d'entrée de caractères et des flux de sortie utilisent des tableaux de caractères pour lire et écrire des données, c'est-à-dire pour traiter les données avec des caractères comme unité de base.
Par exemple:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){FilesourceFile=newFile(a.txt);//Le fichier lu FiletargetFile=newFile(b.txt);//Le fichier écrit charc[]=newchar [19 ];//char array try{Writerout=newFileWriter(targetFile,true);//flux de sortie pointant vers la destination Readerin=newFileReader(sourceFile);//flux d'entrée pointant vers la source intn=-1;while(( n= in.read(c))!=-1){out.write(c,0,n);}out.flush();out.close();}catch(IOExceptione){System.out.println (Erreur +e);}}}
Remarque : Pour les flux Writer, la méthode d'écriture écrit d'abord les données dans le tampon. Chaque fois que le tampon déborde, le contenu du tampon est automatiquement écrit dans la destination. Si le flux est fermé, le contenu du tampon sera immédiatement écrit dans la destination. . Le flux appelle la méthode flush() pour vider immédiatement le tampon actuel, c'est-à-dire pour écrire le contenu du tampon actuel vers la destination.