2016-04-26 16 views
-3

Wenn ich eine Datei mit 2 Zeilen habe und die erste Zeile durch BookType # BookName # Datum geteilt wurde und die zweite Zeile war BookType # BookName # Datum, wie bekomme ich das Datum der erste Zeile speziell, wenn ich eine Variable mit dem Namen "Datum" auf das Datum der ersten Zeile und der zweiten Zeile festlegen. (Dies ist das Datum in der ersten Zeile und Zeile Feld unter der Annahme unterschiedlich ist)Wie bekomme ich bestimmte Variablen in einer Datei?

if (fields[0].equals("A")) 
{ 
    ur.setBookType(fields[0]); 
    ur.setBookName(fields[1]); 
    ur.setDate(fields[2]); 
} 
else if (fields[0].equals("B")) 
{ 
    ur.setBookType(fields[0]); 
    ur.setBookName(fields[1]); 
    ur.setDate(fields[2]); 

Das Beispiel der Datei wird

A#James and the Giant Peach#01-20-2013 
B#Harry Potter#02-20-1990 
+1

Ich kann deine Frage nicht verstehen. Es macht insbesondere keinen Sinn, "eine Variable ... auf das Datum zu setzen". Zeigen Sie uns ein konkretes Beispiel und was Sie versucht haben. –

+0

Okay, ich habe es bearbeitet, sorry. – jkjk

+0

Könnten Sie bitte Ihre Eingabedatei und Ihre erwartete Ausgabe zeigen? –

Antwort

1

Haben Sie die Daten pro Zeile erhalten müssen? Die Frage ist nicht klar, aber wenn es ist, können Sie den folgenden Code verwenden.

int LastNoSignPosition = line.lastIndexOf("#"); 
String date = line.substring(LastNoSignPosition+1, line.length()); 

Dann Schleife auf die nächste Position.

EDIT:

int firstNoSign = line.indexOf("#"); //get position of 1st # 
int secondNoSign = line.indexOf("#", firstNoSign+1); //get position of 2nd # 
int thirdNoSign = line.indexOf("#", secondNoSign+1); //get position of 3rd # 

String date = line.substring(thirdNoSign, thirdNoSign+10); 

Die 10 das Datum wird unter der Annahme, ist immer auf dem gleichen Format dd-mm-yyyy die 10 Zeichen ist, wenn nicht die vierte Nummernzeichen zu bekommen. Fügen Sie einen Catch für Out-of-Bound hinzu, wenn Datum oder # nicht vorhanden sind.

+0

Sorry, nicht jede Zeile hat ein Datum. Ich habe gerade diese 2 als Beispiel gegeben. Dies sind die einzigen mit Datumsangaben und die Zeilen nach ihnen sind nur zusätzliche Daten. Also seine Zeile 1, zusätzliche Daten, Zeile 2, zusätzliche Daten – jkjk

+0

Wird es immer 3 Nummernzeichen pro Zeile geben, um den Typ, den Namen und das Datum darzustellen, wenn sie keinen Wert haben? Wie BookType # Buchname ##? –

+0

Gut für die 2, die ich gepostet habe, wird es immer das gleiche Format von bookType, bookName, Date ... für die Daten in der Mitte wird es 5 # sein. – jkjk

Verwandte Themen