Java:如何读取文本文件

我想读取一个包含空格分隔值的文本文件。值是整数。如何读取并将其放入数组列表?

这是文本文件内容的示例:

1 62 4 55 5 6 77

我想将它包含在arraylist中[1, 62, 4, 55, 5, 6, 77]。如何用Java做到这一点?

回答:

你可以用来Files#readAllLines()将文本文件的所有行都放入List<String>

for (String line : Files.readAllLines(Paths.get("/path/to/file.txt"))) {

// ...

}

教程:基本I / O>文件I / O>读取,写入和创建文本文件

你可以用来基于正则表达式String#split()拆分a String部分。

for (String part : line.split("\\s+")) {

// ...

}

教程:数字和字符串>字符串>操纵字符串中的字符

你可以使用Integer#valueOf()将转换StringInteger

Integer i = Integer.valueOf(part);

教程:数字和字符串>字符串>在数字和字符串之间转换

你可以使用List#add()将元素添加到中List

numbers.add(i);

教程:接口>列表接口

因此,简而言之(假设文件没有空行,也没有尾随/前导空格)。

List<Integer> numbers = new ArrayList<>();

for (String line : Files.readAllLines(Paths.get("/path/to/file.txt"))) {

for (String part : line.split("\\s+")) {

Integer i = Integer.valueOf(part);

numbers.add(i);

}

}

如果你碰巧已经使用Java 8,那么你甚至可以为此使用Stream APIFiles#lines()。

List<Integer> numbers = Files.lines(Paths.get("/path/to/test.txt"))

.map(line -> line.split("\\s+")).flatMap(Arrays::stream)

.map(Integer::valueOf)

.collect(Collectors.toList());

以上是 Java:如何读取文本文件 的全部内容, 来源链接: utcz.com/qa/418455.html

回到顶部