Duas maneiras de ler e gravar arquivo texto

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.io.PrintStream;

import java.util.Scanner;

 

public class Arquivos {

 

 public static void metodoPorStream() {

         try {

                 // entrada

                 InputStream is = new FileInputStream("s:/temp.sql");

                 InputStreamReader isr = new InputStreamReader(is);

                 BufferedReader br = new BufferedReader(isr);

 

                 // saida

                 OutputStream os = new FileOutputStream("s:/saida.sql");

                 OutputStreamWriter osw = new OutputStreamWriter(os);

                 BufferedWriter bw = new BufferedWriter(osw);

 

                 // le a primneira linha

                 String linha = br.readLine();

 

                 // percorre todo arquivo de leitura

                 while (linha != null) {

 

                         // mostra no console

                         System.out.println(linha);

 

                         // grava no destino

                         bw.append(linha.toUpperCase());

                         bw.newLine();

 

                         // pega proxima linha

                         linha = br.readLine();

                 }

 

                 // fecha tudo

                 br.close();

                 bw.close();

         } catch (Exception e) {

 

                 e.printStackTrace();

         }

 }

 

 public static void metodoPorScan() {

         try {

                 // leitor

                 Scanner sc = new Scanner(new FileInputStream("s:/temp.sql"));

 

                 // escritor

                 PrintStream ps = new PrintStream("s:/saida.txt");

 

                 // percorre o arquivo

                 while (sc.hasNextLine()) {

                         String linha = sc.nextLine();

 

                         // grava no destino

                         ps.println(linha);

                 }

 

                 // fecha tudo

                 ps.close();

                 sc.close();

 

         } catch (FileNotFoundException e) {

                 e.printStackTrace();

         }

 }

 

 public static void main(String[] args) {

 

         // gravando

         // metodoPorStream();

         metodoPorScan();

 }

 

}