Olá,
Por favor, se alguém conseguir me ajudar… tenho uma pasta com ‘N’ arquivos .txt e preciso converter o conteúdo de todos eles para maiúsculo, mas ele grava o arquivo vazio, teria como alguém me ajudar? não estou conseguindo encontrar o erro.
vc le do arquivo origem, escreve em um arquivo temporario e depois renomeia/move esse arquivo temporario para o arquivo de origem
vc le o conteudo do arquivo de origem em memoria, faz a transformação que vc quer em memoria e depois vc escreve no arquivo de origem.
as duas opções tem vantagens e desvantagens. se os arquivos forem grandes vc vai usar muita memoria. criar arquivos temporarios não é uma atividade trivial
boa sorte
B
Bruno_R_Morillo
mas é essa 2ª opção que eu estou fazendo amigo, a questão é que está com algum erro no meu código que esta escrevendo tudo em branco e eu não estou encontrando, quando eu vejo o valor da variável ela está com texto.
peczenyj1 like
cara vc não esta fazendo isso.
vc esta lendo de um BufferedReader e esta escrevendo no PrintWriter LINHA POR LINHA
inclusive vc vai ter uma surpresa: vc vai perder os caracteres newline desse jeito.
se vc realmente quer escrever em memoria, escreva em um stringbuffer primeiro, depois escreva de volta no arquivo.
Funcionou perfeitamente, muito obrigado, você tem algum lugar onde pesquisou e estudou para montar este exemplo? queria aprender como fazer xD
peczenyj1 like
Vc pode consultar a documentação das classes para entender como elas funcionam.
Para entender como desenhar uma aplicação pensando em memória, i/o, cpu existem varias disciplinas separadas que vc precisa estudar, como estruturas de dados, algoritmos, sistemas operacionais, etc.
Mesmo q java rode sob uma máquina virtual o conceito de arquivo é algo q vem de sistemas operacionais.