Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2009, 12:25
dacarot
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 16 años, 3 meses
Puntos: 0
Busqueda Problemas con FileInputStream

Bueeeenas foreros...

De la forma más respetuosa solicito su ayuda!!!!

Resulta que tengo este código.

Código:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyBytes {

    public static void main(String[] args) throws IOException {
        FileInputStream in = null;
        FileOutputStream out = null;

        try {            
            in = new FileInputStream("C:\\MiCarpeta\\Entrada.txt");
            out = new FileOutputStream("C:\\MiCarpeta\\Salida.txt");
            int c;
            while ((c = in.read()) != -1) {
                out.write(c);

                System.out.println(Integer.toBinaryString(c) +" " + c + " " + (char)c);
            }
        } finally {
            if (in != null) {
                in.close();
            }
            if (out != null) {
                out.close();
            }
        }
    }
}

Y me tira este resultado...


10100100 164 ¤
11100011 227 ã
10111100 188 ¼
1100001 97 a
1000001 65 A





La duda viene cuando reviso esos números con la tabla ASCII.
Resulta que el caracter A en ASCII es 65, y está bien.
Así como el caracter a, en ASCII ES 97, y está bien.

Pero el problema llega cuando reviso los otros caracteres, cuyos números no coinciden con la tabla extendida del ASCII

Y lo curioso es que me imprime el caracter como si supiera que el corresponde a ese número...

Porque ocurre eso???

Aqui un link de las tablas ASCII.
http://www.juntadeandalucia.es/averr...la%20ASCII.pdf