将 ASCII 文件中的条目读入 JAVA(第一个条目决定记录长度以及记录总数)
Reading Entries from ASCII file into JAVA(The first entry is what determines record length as well as total number of records)
使用包含多条固定长度记录的 ASCII .DAT 文件,我想读取每条记录并根据其内容的某些部分生成输出。
到目前为止,我的程序正是这样做的,但我被提醒每个 .DAT 文件中的第一个字段以记录长度和记录数开头,我遇到的唯一问题是读取第一个字段和提取可用数据,问题是数据是 ASCII 字符而不是十进制数。
下面是 BASIC 中的代码片段,它读取同一个文件并提取所需的初始数据
CLS
INPUT "Survey System Data File? : ", survey$
survey$ = "f:\apps\survey\" + survey$
reclen = 3004
OPEN survey$ + ".dat" FOR RANDOM AS 1 LEN = reclen
FIELD #1, 3 AS RL$, 9 AS n$
GET #1, 1
RL = CVI(RL$): n = CVI(n$)
PRINT "Record Length = "; RL
reclen = RL
PRINT "Number of Records = "; n
CLOSE #1
有没有办法在 Java 中做类似的事情?
第一条记录和第二条记录如下。第二条记录从0001511
开始
000151115 2 351228 6 8131720 1121211 12111121121111111112112111 公平待人。积极进取、付出更多努力的人应该得到认可。相信员工做出决定并找出最适合企业的决定。检查工作量以及工作的性能和时间。11 6 5 6 5 2003/10/007:12 21 111 2 1154 1 1 113 1 1 1 1 1 4000100 0 0 0 400 0 0 0 400 4100.0000.0000.0 0 0 10 24 12111无 9 1346
如您所见,初始字符是 ASCII 字符,而不是我要查找的小数。
非常感谢您的帮助。
我找到了解决这个问题的方法,因为文件的初始记录基本上是一个空白指示记录,因此使用这个初始记录长度,我能够找到其他记录的循环记录长度。
使用包含多条固定长度记录的 ASCII .DAT 文件,我想读取每条记录并根据其内容的某些部分生成输出。
到目前为止,我的程序正是这样做的,但我被提醒每个 .DAT 文件中的第一个字段以记录长度和记录数开头,我遇到的唯一问题是读取第一个字段和提取可用数据,问题是数据是 ASCII 字符而不是十进制数。
下面是 BASIC 中的代码片段,它读取同一个文件并提取所需的初始数据
CLS
INPUT "Survey System Data File? : ", survey$
survey$ = "f:\apps\survey\" + survey$
reclen = 3004
OPEN survey$ + ".dat" FOR RANDOM AS 1 LEN = reclen
FIELD #1, 3 AS RL$, 9 AS n$
GET #1, 1
RL = CVI(RL$): n = CVI(n$)
PRINT "Record Length = "; RL
reclen = RL
PRINT "Number of Records = "; n
CLOSE #1
有没有办法在 Java 中做类似的事情?
第一条记录和第二条记录如下。第二条记录从0001511
开始000151115 2 351228 6 8131720 1121211 12111121121111111112112111 公平待人。积极进取、付出更多努力的人应该得到认可。相信员工做出决定并找出最适合企业的决定。检查工作量以及工作的性能和时间。11 6 5 6 5 2003/10/007:12 21 111 2 1154 1 1 113 1 1 1 1 1 4000100 0 0 0 400 0 0 0 400 4100.0000.0000.0 0 0 10 24 12111无 9 1346
如您所见,初始字符是 ASCII 字符,而不是我要查找的小数。
非常感谢您的帮助。
我找到了解决这个问题的方法,因为文件的初始记录基本上是一个空白指示记录,因此使用这个初始记录长度,我能够找到其他记录的循环记录长度。