我当前的困境是通过XML文件(Java语言,JDOM)处理固定宽度的文件。但是,我正在使用的文件不是典型的互联网上的示例。
我尝试重新创建的数据示例:
<table style="width:100%">
<tr>
<th>Name</th>
<th>Date</th>
<th>Hobbies</th>
<th>Status</th>
</tr>
<tr>
<td>Jack</td>
<td>8/16/00</td>
<td>Video Games Fixing</td>
<td>Single</td>
</tr>
<tr>
<td></td>
<td></td>
<td>Computers Reading</td>
<td></td>
</tr>
<tr>
<td>Jill</td>
<td>9/9/03</td>
<td>Skiing Cooking</td>
<td>Married</td>
</tr>
</table>
&#13;
在XML模板文件中我指定了数据的pos和len,因此它被正确映射,但是当我尝试处理溢出到下面的行时,我得到一个String Out of Bounds Exception。看起来源文件将为之间或之后的那些空空格保存空值(在该行的内容之后可能为空,然后为null,我的观察基于它在记事本中的处理方式)。如何在一列中处理固定宽度文件中的一个初始值的多行数据,是否需要找到确切的长度?
收集数据后,将根据XML模板指定数据在新文件中的位置。
答案 0 :(得分:0)
经过一些研究,我能够确定一个修复方案。在XML模板文件中,您将包含数据的“colspan”和“rowspan”的映射。然后在Java中,您将创建一种方法来处理这两个新值,以便在目标文件中获取所有数据,而不会抛出任何Out of Bounds异常。