是否有用于解析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