O uso de fluxos de caracteres para operações de I/O em arquivos em Java é útil principalmente para manipulação de texto Unicode, diferentemente dos fluxos baseados em bytes. Classes como FileReader e FileWriter facilitam essa operação com arquivos de texto.
Usando FileWriter
A classe FileWriter permite criar um objeto Writer para gravar em arquivos. Seus principais construtores são:
FileWriter(String nomeArquivo) throws IOException
FileWriter(String nomeArquivo, boolean incluir) throws IOException
- nomeArquivo: Indica o caminho completo do arquivo.
- incluir: Define se a escrita será acrescentada ao final do arquivo (true) ou se sobrescreverá o arquivo existente (false).
Abaixo, temos um exemplo de um programa simples que lê linhas de texto do teclado e as grava em um arquivo chamado "test.txt". A leitura continua até o usuário digitar "stop".
import java.io.*;
class KtoD {
public static void main(String args[]) {
String str;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter text ('stop' to quit).");
try (FileWriter fw = new FileWriter("test.txt")) {
do {
System.out.print(": ");
str = br.readLine();
if (str.compareTo("stop") == 0) break;
str = str + "\r\n"; // adiciona nova linha
fw.write(str);
} while (str.compareTo("stop") != 0);
} catch(IOException exc) {
System.out.println("I/O Error: " + exc);
}
}
}
Neste exemplo:
- BufferedReader lê linhas de texto do console.
- FileWriter grava o texto no arquivo "test.txt", acrescentando uma nova linha após cada entrada.
- Condição de parada: Quando o usuário insere "stop", a gravação para.
O uso de FileWriter com BufferedReader simplifica a escrita de texto e manipulação de dados em arquivos, especialmente em operações de texto contínuo e internacionalizado.
Top comments (0)