【发布时间】:2013-05-02 09:24:01
【问题描述】:
我正在读取一个由制表符分隔的文本文件 abc .txt,如下所示
gfh hgh thf
--- --- ---
fgh sji irj
rhf dhh fhf
kji idj ddt
并且我能够成功读取它(对于表中的所有列,我已经开发了一个单独的 pojo 以及 getter 和 setter),优点是我可以通过它的 getter 获取完整行的值。
现在我必须确保表中的任何列都不应该为空,如果任何列的值为空,那么我应该抛出一个新的异常,例如..
gfh hgh thf
--- --- ---
fgh sji irj //row 1
rhf dhh fhf
kji idj ddt
fgq fio //As seen in this row that second column value is null
现在我遵循的方法是在字符串中逐行获取值,如下所示
String n = f.getgfh()+f.gethgh()+f.getthf(); //it will contain the contents of the row 1
创建一个单独的方法并传递这个字符串
private boolean validaterow(String f)
{
}
在这个方法中,我在一个字符串中获取完整的行,在这个方法中,我想在标记中打破这个字符串,然后进一步评估这些标记是否为空或 null,如果有,那么我将返回 false
【问题讨论】:
-
你读的怎么样?
-
@user2200150 当至少一个字段为
null时,您已经抛出异常。你的具体问题是什么?你能展示一些代码来理解你真正的问题吗? -
@LuiggiMendoza 我认为这是正确的方法..!
-
@user2200150 从您的问题的当前描述来看,没有 正确的 方法,因为您可以选择不同的设计。如果您只需要在至少一个字段为
null时抛出异常,那么您已经拥有它。您还可以检查该字段是否为空并抛出异常,并为每个字段提供更详细的消息。另一种选择可以使用反射来完成。同样:对此没有确切的答案,这取决于您的需求。 -
你真的应该使用像OpenCSV这样的框架来解析这些文件。