Convertir EBCDIC a ASCII en java

así que se supone que debo convertir un archivo EBCDIC a ASCII usando Java. Hasta ahora tengo este código:

public class Migration {
InputStreamReader reader;
StringBuilder builder;

public Migration(){
    try {
        reader = new InputStreamReader(new FileInputStream("C:\\TI3\\Legacy Systemen\\Week 3\\Oefening 3\\inputfile.dat"),
               java.nio.charset.Charset.forName("ibm500") );
    } catch(FileNotFoundException e){
        e.printStackTrace();
    }
    builder = new StringBuilder();
}

public void read() throws IOException {
    int theInt;
    while((theInt = reader.read()) != -1){
        char theChar = (char) theInt;
        builder.append(theChar);

    }

    reader.close();
}

@Override
public String toString(){
    return builder.toString();
    }
}

La descripción del archivo es la siguiente:

 02 KDGEX.
      05 B1-LENGTH PIC S9(04) USAGE IS COMP.
      05 B1-CODE PIC S9(04) USAGE IS COMP.
      05 B1-NUMBER PIC X(08).
      05 B1-PPR-NAME PIC X(06).
      05 B1-PPR-FED PIC 9(03).
      05 B1-PPR-RNR PIC S9(08) USAGE IS COMP.
      05 B1-DATA.
        10 B1-VBOND PIC 9(02).
        10 B1-KONST.
          20 B1-AFDEL PIC 9(03).
          20 B1-KASSIER PIC 9(03).
          20 B1-DATZIT-DM PIC 9(04).
        10 B1-BETWYZ PIC X(01).
        10 B1-RNR PIC X(13).
        10 B1-BETKOD PIC 9(02).
        10 B1-VOLGNR-INF PIC 9(02).
        10 B1-QUAL-PREST PIC 9(03).
        10 B1-REKNUM PIC 9(12).
        10 B1-REKNR REDEFINES B1-REKNUM.
          20 B1-REKNR-PART1 PIC 9(03).
          20 B1-REKNR-PART2 PIC 9(07).
          20 B1-REKNR-PART3 PIC 9(02).
        10 B1-VOLGNR-M30 PIC 9(03).
        10 B1-OMSCHR.
          15 B1-OMSCHR1 PIC X(14).
          15 B1-OMSCHR2 PIC X(14).
        10 B1-OMSCHR-INF REDEFINES B1-OMSCHR.
          15 B1-AANT-PREST PIC 9(02).
          15 B1-VERSTR PIC 9(01).
          15 B1-LASTDATE PIC 9(06).
          15 B1-HONOR PIC 9(06).
          15 B1-RIJKN PIC X(13).
        10 FILLER--1 PIC 9(02).
        10 B1-INFOREK PIC 9(01).
        10 B1-BEDRAG-EUR PIC 9(08).
        10 B1-BEDRAG-DV PIC X(01).
        10 B1-BEDRAG-RMG-DV REDEFINES B1-BEDRAG-DV PIC X(01).
      05 FILLER PIC X(5).

Podemos ignorar los primeros 2 bytes en cada línea. El problema es que los bytes en los que hay un USAGE ES COMP ya que el lector no los está convirtiendo correctamente, creo que debo leerlos como bytes o algo así, aunque no tengo idea de cómo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta