Czytam długi szereg informacji z pliku tekstowego, który wygląda dokładnie tak:Przeczytaj plik tekstowy jednej linii, Split do tablicy
Sebastien 5000\\Loic 5000\\Shubhashisshh 5000\\Thibaullt 5000\\Caroo 5000\\Blabla 5000\\Okayyy 5000\\SebCed 5000\\abusee 5000\\omg 5000\\
To ma być wysokie wyniki z nazwiskami użytkowników. Kiedy wydrukować linię, wygląda dokładnie tak jak powinien, ale kiedy wydrukować tablicę po użyciu split("\\\\")
, wygląda to tak:
[Sebastien 5000, , Loic 5000, , Shubhashisshh 5000, , Thibaullt 5000, , Caroo 5000, , Blabla 5000, , Okayyy 5000, , SebCed 5000, , abusee 5000, , omg 5000]
Problemem jest to, że Array[0]
jest w porządku, ale Array[1]
jest pusty , podobnie jak Array[3]
, Array[5]
, itp.
Oto mój kod. Co jest z tym nie tak?
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(path));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String line = null;
try {
line = in.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("LINE = "+line);
String[] scores = line.split("\\\\");
System.out.println("Mode = "+mode+Arrays.toString(scores));
Używasz 'line.split ("\\\\");' lub jest to, że literówka? Myślę, że potrzebujesz 'linii.split ("\\\"); ' – NickD
@NickD to wymaga regex, więc potrzebujesz' "\\\\" ', który najpierw staje się dosłownym ciągiem' '\\' ', a następnie regex dla literału' ' \ "'. '" \\\ "' nie kompiluje się, ponieważ jest nieokreślonym ciągiem literowym. – Esailija
To nie jest literówka, ponieważ musisz uciec \ "\" na specjalny znak i drugi raz, ponieważ jest to ciąg znaków, jeśli chcę podzielić \\ muszę użyć \\\\ nie? – user1895293