ebcdic java_在Java中将EBCDIC转换为ASCII

我应该通过使用Java将EBCDIC文件转换为ASCII。到目前为止,我有以下代码:

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();

}

}

文件描述如下:

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).

我们可以忽略每一行的前2个字节。问题是字节存在USAGE IS COMP,因为读者无法正确转换它们,我想我应该将它们读取为字节或其他内容,尽管我不知道如何。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值