gpt4 book ai didi

java - 在输入文件上使用 String.split

转载 作者:行者123 更新时间:2023-12-01 12:33:56 25 4
gpt4 key购买 nike

所以我有一个以下形式的输入文件:

AdjGraphHeader
11
20
30
.
.
.

我需要创建一个字符串数组来单独保存每一行。所以我使用以下方法读取文件:

String s = FileUtils.readFileToString(f);
Words w = new Words(s, (long)s.length());

然后“构造函数”一词执行了以下操作:

public Words(String str, long n_) {
strings = str.split("\\n");
string = str;
n = n_;
m = strings.length;
}

问题似乎是 adjGraphHeader 末尾有一行多余的行,但我不知道如何摆脱它。任何帮助将不胜感激。

最佳答案

我怀疑你的行不是用 \n 分隔的,而是用 \r\n 分隔的,所以如果你删除 \n 你仍然有\r 在每个单词之后以及打印时您将看到空行。解决方案之一可以是使用此正则表达式进行拆分

"\r?\n|\r" - ? 使其前面描述的元素可选,| 表示“或”运算符

如果形式为 \r \r\n \n,它将处理行分隔符。

您还可以使用一些更简单的东西,例如

List<String> lines = Files.readAllLines(Paths.get("locationOfFile"));

或者如果您已经有文件f

List<String> lines = Files.readAllLines(f.toPath());

并将每一行存储在列表中(您可以稍后 convert this list to array 如果您确实需要的话)

关于java - 在输入文件上使用 String.split,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25712000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com