logo

Manipulação de arquivos em Java usando FileWriter e FileReader

As classes Java FileWriter e FileReader são usadas para escrever e ler dados de arquivos de texto (elas são Fluxo de caracteres aulas). É recomendado não para usar as classes FileInputStream e FileOutputStream se você precisar ler e escrever qualquer informação textual, pois são classes de fluxo de bytes.
 

Gravador de arquivos
FileWriter é útil para criar um arquivo escrevendo caracteres nele. 

  • Esta classe herda da classe OutputStream.
  • Os construtores desta classe assumem que a codificação de caracteres padrão e o tamanho padrão do buffer de bytes são aceitáveis. Para especificar esses valores, construa um OutputStreamWriter em um FileOutputStream. 
     
  • FileWriter destina-se a escrever fluxos de caracteres. Para escrever fluxos de bytes brutos, considere usar um FileOutputStream.
  • FileWriter cria o arquivo de saída se ele ainda não estiver presente.


Construtores:  



    FileWriter(Arquivo de arquivo) -Constrói um objeto FileWriter dado um objeto File.FileWriter (anexo booleano de arquivo de arquivo) -constrói um objeto FileWriter dado um objeto File.FileWriter (FileDescriptor fd) -constrói um objeto FileWriter associado a um descritor de arquivo.FileWriter (String nome do arquivo) -constrói um objeto FileWriter com um nome de arquivo.FileWriter (String fileName Boolean anexado) -Constrói um objeto FileWriter com um nome de arquivo com um booleano indicando se os dados gravados devem ou não ser anexados.


Métodos:  

    public void write (int c) lança IOException -Escreve um único caractere.public void write (char [] stir) lança IOException -Grava uma matriz de caracteres.public void write (String str) lança IOException -Grava uma string.escrita nula pública (String str int desligado int len)lança IOException - Grava uma parte de uma string. Aqui off é o deslocamento a partir do qual começar a escrever caracteres e len é o número de caracteres a serem escritos.public void flush() lança IOExceptionlibera o fluxopublic void close() lança IOExceptionlibera o fluxo primeiro e depois fecha o gravador.


A leitura e a escrita ocorrem caractere por caractere, o que aumenta o número de operações de E/S e afeta o desempenho do sistema. BufferedWriter pode ser usado junto com FileWriter para melhorar a velocidade de execução.
O programa a seguir descreve como criar um arquivo de texto usando FileWriter
 

Java
// Creating a text File using FileWriter import java.io.FileWriter; import java.io.IOException; class CreateFile {  public static void main(String[] args) throws IOException  {  // Accept a string   String str = 'File Handling in Java using '+  ' FileWriter and FileReader';  // attach a file to FileWriter   FileWriter fw=new FileWriter('output.txt');  // read character wise from string and write   // into FileWriter   for (int i = 0; i < str.length(); i++)  fw.write(str.charAt(i));  System.out.println('Writing successful');  //close the file   fw.close();  } }  

Leitor de arquivos

FileReader é útil para ler dados na forma de caracteres de um arquivo de ‘texto’. 

  • Esta classe herdou da classe InputStreamReader.
  • Os construtores desta classe assumem que a codificação de caracteres padrão e o tamanho padrão do buffer de bytes são apropriados. Para especificar esses valores, construa um InputStreamReader em um FileInputStream. 
     
  • FileReader destina-se à leitura de fluxos de caracteres. Para ler fluxos de bytes brutos, considere usar um FileInputStream.


Construtores:  

se mais, bash
    Leitor de arquivos(Arquivo de arquivo) -Cria um FileReader dado o arquivo para leituraFileReader (FileDescripter fd) -Cria um novo FileReader dado o FileDescripter para leituraFileReader (String nome do arquivo) -Cria um novo FileReader com o nome do arquivo para leitura


Métodos:  

    public int read() lança IOException -Lê um único caractere. Este método será bloqueado até que um caractere esteja disponível, ocorra um erro de E/S ou o final do fluxo seja alcançado.public int read(char[] cbuff) lança IOException -Lê caracteres em uma matriz. Este método será bloqueado até que alguma entrada esteja disponível, ocorra um erro de E/S ou o final do fluxo seja alcançado.public abstract int read(char[] buff int off int len) lança IOException -Lê caracteres em uma parte de um array. Este método será bloqueado até que alguma entrada esteja disponível, ocorra um erro de E/S ou o final do fluxo seja alcançado. 
    Parâmetros: 
    cbuf - Buffer de destino 
    off - Deslocamento no qual começar a armazenar caracteres 
    len - Número máximo de caracteres para ler 
     public void close() lança IOExceptionfecha o leitor.salto longo público (n longo) lança IOException -Ignora caracteres. Este método será bloqueado até que alguns caracteres estejam disponíveis, ocorra um erro de E/S ou o final do fluxo seja alcançado. 
    Parâmetros: 
    n - O número de caracteres a serem ignorados 


O programa a seguir descreve como ler o arquivo de ‘texto’ usando FileReader
 

Java
// Reading data from a file using FileReader import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; class ReadFile {  public static void main(String[] args) throws IOException  {  // variable declaration  int ch;  // check if File exists or not  FileReader fr=null;  try  {  fr = new FileReader('text');  }  catch (FileNotFoundException fe)  {  System.out.println('File not found');  }  // read from FileReader till the end of file  while ((ch=fr.read())!=-1)  System.out.print((char)ch);  // close the file  fr.close();  } } 

 

Criar questionário