Diferença entre FileWriter, PrintWriter e BufferedWriter

Java

09/04/2009

Olá !! Existe alguma diferença, além da quantidade de código, nos exemplos abaixo ?
  FileWriter fw = new FileWriter("/teste.txt");                        
  BufferedWriter bw = new BufferedWriter(fw);           
  bw.write("teste");
  bw.flush();
  bw.close();                       
  PrintWriter pw = new PrintWriter("/teste.txt");
  BufferedWriter bw = new BufferedWriter(pw);         
  bw.write("teste");
  bw.flush();
  bw.close();                        
  FileWriter fw = new FileWriter("/teste.txt");                        
  PrintWriter pw = new PrintWriter(fw);
  BufferedWriter bw = new BufferedWriter(pw);         
  bw.write("teste");
  bw.flush();
  bw.close();                         
  File f = new File("/teste.txt");
  FileWriter fw = new FileWriter(f);                        
  PrintWriter pw = new PrintWriter(fw);
  BufferedWriter bw = new BufferedWriter(pw);           
  bw.write("teste");
  bw.flush();
  bw.close();                       
  File f = new File("/teste.txt");                      
  PrintWriter pw = new PrintWriter(f);
  BufferedWriter bw = new BufferedWriter(pw);              
  bw.write("teste");
  bw.flush();
  bw.close();          
  File f = new File("/teste.txt");                      
  FileWriter fw = new FileWriter(f);
  BufferedWriter bw = new BufferedWriter(fw);                        
  bw.write("teste");
  bw.flush();
  bw.close();          
Obrigado pela atenção
Ffelipe

Ffelipe

Curtidas 0

Respostas

Ricardo Staroski

Ricardo Staroski

09/04/2009

No exemplo acima a única diferença é realmente a quantidade de código, pois em todos os casos você só está utilizando o método [b]write(String)[/b] definido na classe [b]java.io.Writer[/b] Para ver o propósito bem como alguns métodos específicos de cada uma dessas classes, consulte a documentação da API.
GOSTEI 0
Alexandre Viriato

Alexandre Viriato

09/04/2009

Essas: [url=http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html]FileWriter[/url] [url=http://java.sun.com/j2se/1.4.2/docs/api/java/io/PrintWriter.html]PrintWriter[/url] [url=http://java.sun.com/j2se/1.4.2/docs/api/java/io/BufferedWriter.html]BufferedWriter[/url]
GOSTEI 0
Carlos Heuberger

Carlos Heuberger

09/04/2009

[quote="ffelipe"]Olá !! Existe alguma diferença, além da quantidade de código, nos exemplos abaixo ? ...
Oi, eu acho que vai ter diferença toda vez que usar um PrintWriter, pois o PrintWriter irá [i]engolir[/i] uma eventual IOException. Mesmo usando o write(String) do Writer, esse chama o método write(String, int, int) da classe em questão, que no fim irá chamar um write do objeto (Writer) passado no construtor. Os métodos do PrintWriter não jogam IOException, então se ocorrer um erro durante a escrita do arquivo, esse erro não será passado ao BufferedWriter. []]
GOSTEI 0
POSTAR