token-parsing in java
Ich habe eine Datei erstellt mit printStream-Objekt, wie unten gezeigt.
PrintStream outPutOffice = new PrintStream(
new BufferedOutputStream(new FileOutputStream(inDir+"/Office.txt")));
outPutOffice.print(fValue + (findx < agtOffColCount ? "|" : ""));
Nun habe ich es zu Lesen, Inhalte zu trennen und die Token mit "|" als ich geschrieben habe, token mit "|" getrennt. Ich habe den code schreiben, wie unten gezeigt, es wird gelesen, Linie korrekt, aber nicht getrennt-token mit " | " - Zeichen.
BufferedReader inPutAgent = new BufferedReader(
new InputStreamReader(new FileInputStream(inDir+"/Office.txt")));
String column=inPutAgent.readLine();
String []columnDetail = column.split("|");
columndetail array enthält die einzelnen Zeichen in jeder index-vielmehr will ich einzelne token, die in jeder index.
Was ist das problem?
- Vielleicht möchten Sie auch zu lernen, was der Unterschied zwischen einem Schriftsteller und einer der Ausgabestrom ist. Werfen Sie einen Blick auf die FileWriter API java.sun.com/j2se/1.5.0/docs/api/java/io/FileWriter.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
den split Methode arbeitet mit regulären Ausdrücken und da das pipe-symbol (|) hat eine Besondere Bedeutung und ist reserviert, die Sie brauchen, um es zu entkommen, wie diese:
Sollten Sie Lesen über regex hier oder hier
Sollten Sie schauen in die StringTokenizer, es ist ein sehr nützliches Werkzeug für diese Art von Arbeit.
Beispiel
Diese wird putput
Verwenden Sie die Zweite Konstruktor StringTokenizer um die Trennzeichen:
StringTokenizer(String str, String delim)
Können Sie auch ein Scanner als einer der Kommentatoren sagte, dies könnte ähnlich Aussehen, wie diese
Beispiel
Die Ausgabe wäre
Bedeutung, dass es geschnitten wird, das Wort "Fisch" und geben Sie den rest, mit "Fisch" als Trennzeichen.
Beispiele aus der Java-API
Dem argument split ist eine regex. Das sollten Sie tun:
oder: