Java não recolhece caracteres "diferentes"

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.

Grato

De maneira bem sucinta, trabalhe com bytes.

Att;

Por um acaso vc ta usando o NetBeans com IDE no Windows Vista ou 7 em inglês??? Eu tenho esse pau aki… é um bug…

NetBeans no 7, a única diferença é que tá em PT-BR

[quote=nbluis]De maneira bem sucinta, trabalhe com bytes.

Att;[/quote]

vô da uma testada, vlw

hummmm… cria o jar e testa em outro OS pra ver… senão é o bug la…

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.

Por isso

[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 ￯﾿ᄑ￯.

Como vc está fazendo para ver o arquivo? Está usando um editor hexa?