Preciso abrir um arquivo texto, dar um replace dentro dele e salvar esse arquivo.
Andei pesquisando e parece que a unica solução seria abrir esse arquivo, ler linha a linha e escrever o resultado em um novo arquivo, excluir o arquivo original e renomear o arquivo temporário. Essa não seria a solução ideal para meu caso, já que são muitos arquivos.
A resposta simples é “não”. Por que é que “porque são muitos arquivos” impossibilita o uso de um arquivo temporário? Se você fez a solução para 1 arquivo não é difícil generalizar para N arquivos.
Digamos que você esteja usando Unix ou Linux. Uma forma de fazer essa substituição é com “find” e “sed” ou “awk”.
Algo como:
find . -name *.java -exec sed -e s/while/enquanto/g blablabla (não sei direito o resto do comando).
Eu criaria um diretório temporário para os arquivos de saída, e se tudo der certo, removeria os arquivos originais e renomearia o diretório temporário.