我有一個文本文件admin.dat
它看起來像這樣:無限循環不正常
blackranger|sdasdasdasd23123|1000
blueranger|sdasdasdasdwhhh22|1000
brownranger|lppsadospd123|1000
我想讀的每一行,使用|
我的分隔符和輸出到控制檯的每個部分。
代碼:
package testing;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class Testing {
public static void main(String[] args) {
Scanner filereader = null;
try {
filereader = new Scanner(new File("./src/testing/players.dat"));
String data;
while(filereader.hasNextLine()) {
String foo = "abc|123|a213";
String[] bar = foo.split("|");
for (int i = 0; i < 3; i++) {
System.out.println(bar[i]);
}
}
} catch (FileNotFoundException e) {
System.out.println("File not found");
} catch (IOException e) {
System.out.println("Error while reading file");
} finally {
if (filereader != null) {
filereader.close();
}
}
}
}
預期的結果:
blackranger
sdasdasdasd23123
1000
blueranger
sdasdasdasdwhhh22
1000
brownranger
lppsadosph123
1000
實際結果:
a // infinite loop
b
a
b
a
b
a
b
a
b
爲什麼我剛開g永遠打印a b
的無限循環?
你有沒有試過這段代碼,並得到了確切的答案。 – newuser
不,但我是100%,該數組值的原因是,'|'應該逃脫 – Baby
更新的答案後,它將正常工作。在此之前,它不會。 – newuser