gpt4 book ai didi

java - Java快速读取特定数据的方法

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

我有这个代码:

System.setIn(new FileInputStream( System.getProperty("user.dir") + "/src/one.in"));
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

for (i = 0; i < ...; i++) {
String line = reader.readLine();
String firstLocation = line.substring(0, line.indexOf(' '));
String mid = line.substring(line.indexOf(' '), line.lastIndexOf(' ')).trim();
String secondLocation = line.substring(line.lastIndexOf(' ') + 1);
....
}

我读了很多行表格:

A --875-> B
A <-854-- B
A --713-> B
A <-908-- B
A --925-> B
A <-894-- B
A --239-> B
A <-30-- B
A --802-> B

有没有最快的方法来读取和处理这些行?我还尝试一次读取所有行并使用行尾字符进行分割,但它的工作速度甚至更慢。

最佳答案

我知道最快的方法是使用 StringTokenizer 。那么你的代码将如下所示:

System.setIn(new FileInputStream(System.getProperty("user.dir") "/src/one.in"));
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

while (reader.ready()) {
final StringTokenizer tk = new StringTokenizer(reader.readLine()," ");
String first = tk.nextToken();
String second = tk.nextToken();
String third = tk.nextToken();
...
}

我不会在这里检查是否有足够的可用 token ,因为您知道输入字符串的结构,这也节省了时间。如您所见here StringTokenizer 比使用 Patternsplit(...) 方法更快。

关于java - Java快速读取特定数据的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26462147/

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