Ich mache eine selbstlernende Übung, um mir zu helfen, mehr über Java zu verstehen, aber ich bin bei dieser Frage fest. Ich habe folgende txt-Datei:Lesen Sie eine Datei getrennt durch Tab und setzen Sie die Wörter in eine ArrayList
Name Hobby
Susy eat fish
Anna gardening
Billy bowling with friends
Hinweis: Name und Hobby durch Reiter getrennt sind
Was ist der beste Weg, um die ganze Zeile zu lesen und es in Arraylist setzen (Name, Hobby). Der schwierige Teil ist, dass
eat fish or bowling with friends
weiße Flächen hat, und es muss unter einem Array gesetzt werden und natürlich kann ich es nicht hart codieren. Hier ist mein aktueller Code:
public void openFile(){
try{
FileInputStream fstream = new FileInputStream("textfile.txt");
// use DataInputStream to read binary NOT text
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> hobbies = new ArrayList<String>();
String lineJustFetched;
while ((lineJustFetched = br.readLine()) != null) {
String[] tokens = lineJustFetched.split(" \t");
Ich habe einen Fehler:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Ich vermute, das Zählen den Index ist nicht sehr nützlich, auf einer Registerkarte. Irgendeine Idee?
Stellen Sie sicher keine neue/leere Zeile am Ende der Datei vorhanden ist. – srkavin