所以我从文本文件的多行收集了令牌,并将这些令牌放入一个名为令牌的数组中。使用此代码。
scanner = new Scanner(file);
while (scanner.hasNextLine()) {
if ((line = scanner.nextLine()).charAt(0) != '#') {
tokens = line.split(",");
}
}
(全部在try catch块中)
我需要将所有这些String标记放入一个数组中,我该怎么做呢。 我的新数组是stringTokens [] = new String [countLines * 4]。
while循环在每次迭代时重新定义标记中的元素,如何在stringTokens中保存这些旧元素并添加新元素标记也将进入stringTokens。
答案 0 :(得分:1)
您可以使用ArrayList<String>
,当您需要它作为数组时,您可以将其转换为一个:
ArrayList<String> list = new ArrayList<>();
scanner = new Scanner(file);
while (scanner.hasNextLine()) {
if ((line = scanner.nextLine()).charAt(0) != '#') {
for(String s : line.split(",")) {
list.add(s);
}
}
}
stringTokens = list.toArray(new String[0]);
答案 1 :(得分:0)
您应该考虑使用ArrayLists。它们本质上是可变数组,没有指定的大小(当你添加元素时,数组“增长”*。)并将每个标记添加到字符串列表中。
ArrayList<String> stringTokens = new ArrayList<String>();
...
for(String s : line.split(",")) {
stringTokens.add(s);
}
*需要时容量增加一倍。