1. FileWritter grava no arquivo
FileWritter, Stream de caracteres grava caracteres no arquivo. Por padrão, ele substitui todo o conteúdo existente por novo conteúdo, no entanto, ao especificar um valor verdadeiro (booleano) como o segundo parâmetro do construtor de arquivos, retém o conteúdo existente e anexa o novo conteúdo no final do arquivo.
1. Substitua todo o conteúdo existente por novo conteúdo.
novo FileWriter (FILE);
A cópia do código é a seguinte:
novo FileWriter (arquivo, true);
Anexar o exemplo do arquivo
Um arquivo de texto chamado "javaio-appendfile.txt" e contém o seguinte conteúdo.
ABC Hello Adds New Content New FileWriter (arquivo, true)
A cópia do código é a seguinte:
pacote com.yiibai.file;
importar java.io.file;
importar java.io.filewriter;
importar java.io.bufferedwriter;
importar java.io.ioException;
Classe pública AppendToFileExample
{
public static void main (string [] args)
{
tentar{
String data = "Este conteúdo anexará ao final do arquivo";
Arquivo de arquivo = novo arquivo ("javaio-appendfile.txt");
// Se o arquivo não existir, crie -o
if (! file.exists ()) {
file.createNewFile ();
}
// true = arquivo de anexo
FileWriter fileWritter = new FileWriter (file.getName (), true);
Bufferwriter bufferwritter = new bufferwriter (fileWritter);
BufferWritter.Write (Data);
bufferwritter.close ();
System.out.println ("done");
} catch (ioexception e) {
E.PrintStackTrace ();
}
}
}
resultado
Agora, o conteúdo do arquivo de texto "javaio-appendfile.txt" é atualizado da seguinte forma:
ABC Olá, este conteúdo irá anexar ao final do arquivo
2. Bufferwriter escreve no arquivo
BufferWriter é uma classe de fluxo de caracteres que processa dados de caracteres. Ao contrário dos fluxos de bytes (os dados são convertidos em bytes), você pode escrever strings, matrizes ou dados de caracteres diretamente em um arquivo.
A cópia do código é a seguinte:
pacote com.yiibai.iofile;
importar java.io.bufferedwriter;
importar java.io.file;
importar java.io.filewriter;
importar java.io.ioException;
classe pública writetofileExample {
public static void main (string [] args) {
tentar {
String Content = "Este é o conteúdo para gravar no arquivo";
Arquivo de arquivo = novo arquivo ("/usuários/mkyong/filename.txt");
// Se o arquivo não existir, crie -o
if (! file.exists ()) {
file.createNewFile ();
}
FileWriter FW = new FileWriter (File.getAbsoluteFile ());
BufferWriter BW = New BufferWriter (FW);
BW.Write (Content);
bw.close ();
System.out.println ("done");
} catch (ioexception e) {
E.PrintStackTrace ();
}
}
}
3. FileOutputStream grava no arquivo
Um fluxo de saída de arquivo é uma classe de fluxo de bytes usada para processar dados binários brutos. Para gravar dados em um arquivo, os dados devem ser convertidos em bytes e salvos no arquivo. Veja o exemplo completo abaixo.
A cópia do código é a seguinte:
pacote com.yiibai.io;
importar java.io.file;
importar java.io.fileOutputStream;
importar java.io.ioException;
classe pública writefileExample {
public static void main (string [] args) {
FileOutputStream fop = null;
Arquivo de arquivo;
String Content = "Este é o conteúdo do texto";
tentar {
arquivo = novo arquivo ("c: /newfile.txt");
fop = new FileOutputStream (arquivo);
// Se o arquivo não existir, crie -o
if (! file.exists ()) {
file.createNewFile ();
}
// Obtenha o conteúdo em bytes
byte [] contentInbytes = content.getBytes ();
fop.write (contentInbytes);
fop.flush ();
fop.close ();
System.out.println ("done");
} catch (ioexception e) {
E.PrintStackTrace ();
} finalmente {
tentar {
if (fop! = null) {
fop.close ();
}
} catch (ioexception e) {
E.PrintStackTrace ();
}
}
}
}
// O JDK7 atualizado, por exemplo, usa o novo método "Try Recurso Shutdown" para processar facilmente arquivos.
pacote com.yiibai.io;
importar java.io.file;
importar java.io.fileOutputStream;
importar java.io.ioException;
classe pública writefileExample {
public static void main (string [] args) {
Arquivo de arquivo = novo arquivo ("c: /newfile.txt");
String Content = "Este é o conteúdo do texto";
Try (FileOutputStream fop = new FileOutputStream (File)) {
// Se o arquivo não existir, crie -o
if (! file.exists ()) {
file.createNewFile ();
}
// Obtenha o conteúdo em bytes
byte [] contentInbytes = content.getBytes ();
fop.write (contentInbytes);
fop.flush ();
fop.close ();
System.out.println ("done");
} catch (ioexception e) {
E.PrintStackTrace ();
}
}
}