1. Classificação de fluxos de IO
Fluxo de caracteres
Leitor
InputStreamReader (fluxo de nó)
BufferredReader (fluxos de processamento)
Escritor
OutputStreamWriter (fluxo de nó)
Bufferwriter (fluxos de processamento)
PrintWriter
Fluxo de bytes
InputStream
FileInputStream (fluxo de nó)
BufferInputStream (fluxos de processamento)
ObjectInputStream (fluxos de processamento)
PrintStream
OutputStream
FileOutputStream (fluxo de nó)
BufferoudOutputStream (fluxos de processamento)
ObjectOutputStream (fluxos de processamento)
Fluxo de processamento do ponto de interrupção
RandomAccessFile
2. Uso de fluxos de IO
1. Uso de fluxos de conversão
FileInputStream in = new FileInputStream (newFile ("" "); ReaderReader = new InputStreamReader (in); // byte para caractere FileOutputStreamout = new FileOutputStream (newFile ("" "); Writer Writer = New OptitpertStreamWriter (out); // Charact to Byte2. Serialização do objeto, o objeto precisa implementar a interface serializável
FileOutputStreamFileOutputStream = new FileOutputStream ("c: //users//lx//desktop//record.txt"); ObjectOutputStreamObjectOutputStream = new ObjectOutputStream (FileOutputStream); ObjectOutputStream.WriteObject (object); // grava objeto no arquivo especificado objectOutputStream.close (); FileInputStreamFileInputStream = new FileInputStream ("c: //users//lx//desktop//record.txt"); ObjectInputStreamObjectInputStream = new ObjectInputStream (FILEInputStream); object = objectInputStream.readObject (); // Leia o objeto FileInputStream.lose ();3. Aplicação de pontos de interrupção
A classe pública Cópia estende o thread {// você pode usar o Multithread para realizar o copy longStart; longend; filesorce; FileTargetDir; publicCopy () {} publicCopy (Longstart, Long End, componente de arquivo, arquivo de arquivo) {// use o construtor para passar o comprimento da cópia, a posição inicial da cópia, e também o bem como o bem como o FILHE). this.start = start; this.end = end; this.sorce = classificação; this.targetdir = TargetDir;}@substituir publicVoid run () {try {RandomAccessFileSouceRaf = new RandomAccessFile (Sorce, "R"); RandomAccessFileTargetraf = novo RandomAccessFile (NewFile (TargetDir, Sorce.getName ()), "RW"); Souceraf.seek (start); Targetraf.seek (start); intlen = 0; byte [] bs = novo byte [1024]; longseek; system.InTer. souceraf.read (BS))! =-1) {Targetraf.Write (BS, 0, Len); Seek = Souceraf.getFilePointer (); // Obtenha posição de ponto de interrupção se (seek == end) {break;}} segmentraf.close (); Souceraf.close ();} Catch (} Catch (} Catch (}};4. Uso de fluxos de bytes
public class Test_InputStream {//Use byte streams to obtain text file content, but problems are prone to occur/* //Int length may be out of bounds public static void main(String[] args) throws IOException { InputStream inputStream = new FileInputStream(new File("C://Users//lx//Desktop//test//33.txt")); byte [] b = novo byte [inputStream.Available ()]; inputStream.read (b); String str = new string (b); System.out.println (str); }*/// Código de iluminação pode parecer public estático void main (string [] args) lança ioexception {arquivo file = new file ("c: //users//lx//desktop//test//33.txt"); inputStream inputStream = new FileInTstream (file); byte [] b = novo byte [2]; stringbuffer sbuffer = new StringBuffer (); while ((len = inputStream.read (b))! =-1) {sbuffer.append (new string (b, 0, len));} system.out.println (sbuffer.toString ());}} // copiar o arquivo usando o fluxo de fluxo de fluxo (arquivo de arquivo de arquivo); null; fileOutputStreamFileOutputStream = null; fileInputStream = new FileInputStream (Sourcefile); FileTargetFile = new File (TargetDir, Sourcefile.getName ()); FileOuttStream = new FileOutStream (TargetFile); ! = -1) {FileOutputStream.Write (b, 0, len);}}5. Uso de fluxos de personagens em cache
publicstatic void main (string [] args) lança IoException {// Implementação de fluxo de caracteres em cache para gravar arquivos inputStreamin = System.in; ReaderReader = new InputStreamReader (in); BufferReaderbr = new BufferReader (leitor); Arquivo ("src/1.txt")))); strings = ""; while ((s = b.readline ())! = Null) {bw.write (s); bw.newline (); bw.flush (); // fluxos de caracteres não se esquecem Flush !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Resumir
O exposto acima é todo o conteúdo deste artigo sobre a análise do código de conhecimento relacionado ao fluxo Java IO, espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!