[color=“blue”]Alguem poderia me ajudar
Obrigado por sua colaboração[/color]
Problema:
Estou tentando gerar um arquivo a partir de outro já existente. Estou lendo este arquivo byte a byte e gravando o valor obtido diretamente no arquivo de saída. Porém, ao encontrar no arquivo de entrada um desses caracteres: [color=“red”]“9D”, “90”, “81”, “8D”, “8F”[/color] ( OBS:expresso em hexadecimal ) o programa Java está substituindo esses caracteres pelo “3F” no arquivo de saída.
[color=“green”]OBS: Já tentei utilizar todos os tipos de variáveis permitidas pelo metodo READ() para ler o conteúdo do arquivo de entrada e o resultado obtido foi sempre o mesmo. Também já tentei forçar diretamenta à gravação de um dos caracteres descritos e o Java continua substituindo pelo caracter “3F”[/color]
Programa Java utilizado:
FILE1 = new FileReader("ARQ1.xxx");
FILE2 = new FileWriter("ARQ2.xxx", false);
int ARQ_BUFFER1 = 0;
try
{
while ( ( ARQ_BUFFER1 = FILE1.read () ) != -1 )
{
FILE2.write(ARQ_BUFFER1);
}
}
catch (IOException ERR)
{
System.exit(0);
}
Alguem sabe como resolver esse problema, pois tenho que gerar o novo arquivo com os mesmos caracteres do arquivo de entrada. Que devo fazer ? Utilizar outro método de leitura ? Qual ? (Estou lendo um arquivo binário, caracteres com “fim de linha” devem ser tratados como informações válidas e dependendo do método de leitura eles serão ignorados ou irão provocar resultados inesperados, como finalizar a leitura ) Devo utilizar charset() ? Como faze-lo ? Alguem possui algum exemplo de sua utilização ?