使用Java解析FORTRAN输出文件

时间:2010-10-29 11:53:44

标签: java fortran

是否有用于解析FORTRAN输出的开源Java工具?我希望能够写出像

这样的东西
Format format = new Format("(1x, 2(F10.3,I3,' XY ',F7.3))");
String s = " -12345.897    XY 123.456-12345.897*** XY 123.456";
Result result = format.parse(s);   

请注意,它特别是FORTRAN。注意有趣的事情,如连接字段,溢出,空格= 0等。有很多陷阱,我不想自己重新发现它们!

COMMENT。我不明白为什么这是一个错误的方法。格式是生成阅读代码的简明方法。另一种方法是为每种格式硬编码阅读器。如果我有一个文件 - 比如100个不同的FORMAT输出,那么我需要100个代码块。使用iChemLabs方法,我写道:

List<Object> fields = FortranFormat.read(s, format);

然后回来 Double Integer String Double Double Integer String Double

更新: 我已经在合理数量的东西上测试了iChemLabs。使用空格它返回null整数和双精度。使用 * ,它会产生异常(并非不合理)。它可以管理多行

fields = FortranFormat.read("   1\n    2", "(I4/I4)");

返回2个整数(1和2)

更新: iChemLabs代码专门允许空白输入(但不是星号):

public void setReturnZeroForBlanks(boolean returnZeroForBlanks)

    Set whether zeros are returned for blanks.

    Parameters:
        returnZeroForBlanks - the return zero for blanks

1 个答案:

答案 0 :(得分:3)

This seems to do it(输出和输入)。上次更新1998年!

Another one here - 看起来更精致一点?来自iChemLabs