Fluxo de entrada e saída de arquivo
A entrada de arquivo e saída Stream FileInputStream e FileOutputStream são responsáveis por concluir as operações de entrada e saída seqüenciais dos arquivos de disco local.
[Exemplo] Crie um arquivo através de um programa, insira caracteres do teclado, termina quando o personagem "#" é encontrado e todo o conteúdo do arquivo é exibido na tela
Importar java.io. novo FileOutputStream ("Ep10_5"); '#') {B.Write (CH); (Fildescriptor.out); ) {System.out.println ("Este arquivo não pode ser encontrado!");
O FileScriptor é uma classe em Java.io. Entrada padrão.
[Exemplo] Implementar backup de arquivos gráficos binários (.gifs)
importar java.io. System.out.println ("O tamanho do arquivo é:" A.Available ()); a matriz B.Write (C); ;
Fluxo de filtro
FilterInputStream e FileOutputStream são subclasses diretas do InputStream e do outputStream.
Os dois fluxos de filtragem comumente usados são os dados de entrada de dados DatainputStream e o fluxo de saída de dados DataOutputStream. Seu método de construção é:
DatainputStream (InputStream in);
Como o DataAinputStream e o DataOutputStream implementam as operações formatadas de leitura e gravação definidas nas interfaces DataAinput e DataOutput (as duas interfaces especificam os métodos de entrada e saída dos dados do tipo básico), as operações formatadas de leitura e gravação são realizadas para diferentes tipos de dados de leitura e gravação. Pode ser visto no método de construção que os fluxos de entrada e saída são usados respectivamente como parâmetros dos métodos de construção dos fluxos de entrada e saída de dados, ou seja, como fluxos filtrados, eles devem estar conectados aos fluxos de dados correspondentes.
As classes DatainputStream e DataOutputStream fornecem muitos métodos de leitura e gravação para diferentes tipos de dados.
[Exemplo] Escreva três números do tipo int 100, 0 e -100 no arquivo de dados ep10_6.dat.
Importar java.io DataOutputStream Conecte -se ao FileOutputStream para Saída de Data DataOtputputStream a = novo DataOtputStream (NOVA FILEOUSTURA (Nome do arquivo); } catch (ioexception i) {System.out.println ("Ocorreu o erro!"+nome do arquivo);
Após a execução, gerar o arquivo de dados EP10_7.dat no diretório do programa.
00 00 00 64 00 00 00 00 FF FF FF 9C.
[Exemplo] Leia três números do tipo int no arquivo de dados EP10_6.dat, soma e exibição.
Importar java.io. New BufferInputStream (novo FileInputStream (nome do arquivo)); + soma);
Resultados em execução:
A soma de três números é: 0
O método Readint pode ler 4 bytes do fluxo de entrada e saída e participar diretamente da operação como dados do tipo int. Como você já sabe que existem 3 dados no arquivo, você pode usar 3 declarações de leitura, mas o que você deve fazer se souber apenas que existem dados do tipo int no arquivo, mas não sabem o número de dados ? Porque se a operação de leitura do DataAinputStream for encontrada, uma eofexception será lançada no final do arquivo, a operação de leitura poderá ser colocada na tentativa.
tente {while (true) soma+= a.readInT ();} catch (eofexception e) {System.out.pritnln ("A soma de três números é:"+soma);
O Eofexception é uma subclasse da IOException.
[Exemplo] Digite um número inteiro do teclado e encontre a soma dos dígitos do número.
Importar java.io B = A.ReadInT (); soma = soma+d;
Resultados em execução:
Por favor, digite um número inteiro: 26842403082 A soma dos dígitos = 31
Deve -se notar que os dados de entrada 26 se tornaram 842403082. O motivo é que os dados de entrada não estão em conformidade com o formato do tipo básico de dados. , ele representa apenas 2 e 6. Dados de bytes de dois caracteres, não o código de bytes representando o número inteiro 26.
Para obter números inteiros do teclado, você precisa ler a string primeiro e depois usar outros métodos para converter a string em números inteiros.
Entrada e saída padrão
System.in, System.out e System.err são definidos no pacote java.lang.system.
Entrada padrão: o sistema de entrada padrão.in é um objeto da classe bufferInputStream. .
Saída padrão: Sistema de saída padrão.out é um objeto da classe PrintStream PrintStream. A classe PrintStream é uma subclasse da classe de fluxo de saída filtrada FilterOutputStream, que define métodos Print () e Println () que produzem diferentes tipos de dados para a tela.
Erro padrão Saída: System.err é usado para exibir mensagens de erro para usuários e também é um fluxo de erros derivado da classe PrintStream. A função do fluxo ERR é tornar as informações de saída Print () e Println () para o fluxo ERR e exibi -las na tela para a conveniência dos usuários usarem e depurar programas.
[Exemplo] Digite uma sequência de caracteres para exibi -lo e exiba as classes para qual sistema.in e System.out pertence.
importar java.io. String: "); int conting = system.in.read (a); // Leia o padrão de entrada e saída de saída padrão System.out.println (" entrada é: "); para (int i = 0; i <contagem; i ++) System.out.print (a [i]+""); // Retorno de carruagem e quebras de linha não são exibidas System.out.print ((char) a [i]+""); O número é: "+count); classe incllass = System.in.getclass (); classe outclass = System.out.getClass (); System.out.println (" Na classe onde o item é: "+Inclass.t ostring ());
Os resultados em execução são os seguintes:
Deve -se notar que, depois de inserir três caracteres e pressionar Enter, o resultado da saída é exibido como 5 caracteres. Isso ocorre porque o retorno do transporte é tratado como dois caracteres em Java, um é um retorno de carruagem com ASCⅱ 13 e o outro é uma quebra de linha com um valor de 10. No programa, getClass () e tostring () são métodos da classe de objeto, que são usados respectivamente para retornar a classe correspondente ao objeto atual e retornar a representação da string do objeto atual.