我不确定标题是否很清楚,但基本上我要做的就是从文件中读取一行文本并将其拆分为 8 个不同的字符串变量。每行将有相同的 8 个块以相同的顺序(标题、作者、价格等)。因此,对于每一行文本,我想以 8 个字符串结尾。
第一个问题是该行的最后两个字段可能存在也可能不存在,所以我需要对 stringTokenizer.hasMoreTokens 做一些事情,否则当字段 7 和 8 不存在时它会乱七八糟地死掉。
理想情况下,我希望在 for 循环的一段时间内执行此操作,但我不确定如何告诉该循环字段的顺序是什么,以便它可以正确填充所有 8 个(或 6 个)字符串。请告诉我使用 8 个嵌套 if 语句有更好的方法!
编辑:String.split 解决方案似乎肯定是其中的一部分,所以我将使用它而不是 stringTokenizer。但是,我仍然不确定将单个字符串输入构造函数的最佳方法是什么。最好的方法是让类期待一个数组,然后在构造函数中做这样的事情:
line[1] = isbn;
line[2] = title;