【发布时间】:2015-07-05 11:07:42
【问题描述】:
假设我有一个文件 text.txt,其中一行包含以下内容:
abc, def, ghi, jkl
我正在尝试获取文件中的数据列表,因此 myList 将导致 ["abc"、"def"、"ghi"、"jkl"],但它似乎不起作用:
String[] tokens;
try {
Scanner scanner = new Scanner("text.txt");
while (scanner.hasNext()) { tokens = scanner.nextLine().split(","); }
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(tokens.length); // Prints 1 instead of 4
并且尝试打印索引 0-3 会出现越界错误(显然是因为长度仅为 1)
然后我想更改索引之一(在数组中)中的数据,并将其重新写入/覆盖写回文件。 我认为这个答案应该可以解决这个问题,但只有在我能够正确处理数组之后。 https://stackoverflow.com/a/1016291/4669619
编辑:目前,我知道我的文件只有 4 个用 3 个逗号分隔的内容,如示例文本文件所示。
【问题讨论】:
-
我还能访问任何令牌索引吗?即更改特定数据,并像“fooWriter.write(tokens[2]);”一样重写它如链接的 SO 问题所示。
-
@JBNizet 我将如何保存、修改和访问数据(并获取长度)?
-
@Ali 你会阅读 List 的 javadoc,发现它有一个方法 size() 和一个方法 get(int index)。