Pessoal, estou lendo um arquivo, modificando seu conteúdo (código, pois é um arquivo usado por um programa específico) e sobrescrevendo a arquivo antigo pelo novo (criado na mesma pasta e com mesmo nome).
O problema é que todos os arquivos possuem uma parte do código que, como exemplo, pode ser (cada arquivo tem essa parte diferente):
?]Jö. z?,æØ±?[à ??ee
(não sei se é, mas acredito que seja UTF-8 )
(não coloquei na tag Code porque não dava pra ver nada, assim não ficou perfeito mas dá pra ter uma ideia dos caracteres)
Essa parte eu não quero mudar, mas eu preciso ler e salvar em uma string e depois eu preciso escrever isso novamente no arquivo. O problema é que quando escrevo novamente, fica assim:
��]J�. z�,�ر�[� ��ee
Gostaria de saber o que posso fazer para que o Java escreva corretamente essas letras.
String trabalha com encoding. O que significa que a classe, por definição, pode alterar os dados de seu interior, para exibir em uma ou outra codificação.
[quote=nbluis]De maneira bem sucinta, trabalhe com bytes.
Att;[/quote]
kra, não funcionou.
Fiquei tentando um tempo fazer funcionar, mas nada. Decidi fazer um teste. Pegar tudo como byte e logo depois já escrever no arquivo, sem modificar nada. Ele escreve perfeitamente o arquivo, só essa parte (nos caracteres especiais) ele enche de ᄑ.