Desejo copiar o conteúdo do arquivo 'A' para o arquivo 'B'. depois que a cópia terminar, desejo limpar o conteúdo do arquivo 'A' e quero escrever nele desde o início. Não consigo excluir o arquivo 'A' porque está relacionado a outra tarefa.
Consegui copiar o conteúdo usando a API de arquivo do java (readLine ()), mas não sei como limpar o conteúdo do arquivo e definir o ponteiro do arquivo para o início do arquivo.
Não acredito que você precise escrever uma string vazia no arquivo.
fonte
new PrintWriter("filepath.txt").close();
?Você deseja o método setLength () na classe RandomAccessFile.
fonte
Simples, não escreva nada!
fonte
Um liner para fazer a operação de truncamento:
Mais informações disponíveis em Java Documentation: https://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileChannel.html
fonte
Que tal abaixo:
fonte
Depois de copiar de A para B, abra o arquivo A novamente para o modo de escrita e depois escreva uma string vazia nele
fonte
Um dos melhores companheiros para java são os projetos Apache e por favor consulte-os. Para operações relacionadas a arquivos, você pode consultar o projeto Commons IO .
O código abaixo de uma linha nos ajudará a esvaziar o arquivo.
fonte
Apenas escreva:
fonte
Grave uma string vazia no arquivo, esvazie e feche. Certifique-se de que o gravador de arquivo não esteja no modo anexar. Eu acho que isso deve funcionar.
fonte
Se você não precisar usar o gravador depois, a maneira mais curta e limpa de fazer isso é:
fonte
usando: Nova biblioteca Java 7 NIO, tente
O código acima verifica se existe Directoty se não cria o diretório, verifica se o arquivo existe é sim ele grava uma string vazia e limpa o buffer, no final você obtém o gravador apontando para o arquivo vazio
fonte
Você pode usar
Lembre-se de não usar
True no construtor de filewriter permitirá anexar.
fonte
fonte
Com o gravador try-with-resources será fechado automaticamente:
fonte
Tudo o que você precisa fazer é abrir o arquivo no modo truncado. Qualquer classe de saída de arquivo Java fará isso automaticamente para você.
fonte
você pode escrever um método genérico como (é tarde demais, mas o código abaixo ajudará você / outros)
fonte