Java ist nicht die Behandlung "\n" als neue Zeile beim abrufen aus der Datenbank Spalte

Stehe ich vor einem seltsamen problem.

Was ich Tue, ich bin die Speicherung einige Werte in DB(oracle 11g) als varchar2 und abrufen der Werte in java und der Arbeit mit den abgerufenen Daten.

Jetzt habe ich \n als einen Wert in der DB und bekommen es in java mit rs.getString(). Ich bin immer ordnungsgemäße Wert \n.

String newLine=rs.getString("column_value");

Nun, ich parse eine HTML-Seite und Holen Sie sich die ganze Seite als string.Nehmen wir an, die Seite hat 3 Zeilen mit je depiciting ssome Infos unter:

Time: 08 AM - 11 AM
Duration : 36 minutes

Nun im code, den ich passieren "Dauer :" auf eine Methode, und das wird mich zurückbringen "36 Minuten".
Was Logik, die ich verwenden, bekomme ich den index von "Dauer :" und Lesen, bis "\n" aufgetreten ist.Code funktioniert gut, wenn ich erklären das newline als

String newLine= "\n";

Aber wenn ich es aus der DB funktioniert es nicht.
Ich weiß, dass ich nicht brauchen, speichern Sie diese in der DB, aber ich will nicht zu fest dieser Artikel. So habe ich, um es zu speichern in der DB nur. Kann mir jemand helfen in dieser???

  • könnten Sie etwas klar, was u meinst mit "wenn ich Jetzt eine Reihe von Linien und möchten zu brechen, es mit Hilfe newline java ist nicht zu interpretieren als neue Zeile."
  • Bist du auf Windows? Tut \r\n Arbeit?
  • \n ist \n, unabhängig davon, wo Sie es bekommen. Wenn Sie überprüft haben, dass der Wert in der variable ist korrekt, das Problem liegt an anderer Stelle, da Java nicht auf Magische Weise wissen, wo der Wert der Variablen kommt.
  • Hallo, ist das '\n' gespeichert in der DB als 2 Zeichen, '\' und 'n'?
  • Beachten Sie, dass die Zeichenfolge \n in einer Datenbank gespeichert werden zurückgegeben, wie "\\n" in Java.
  • bitte überprüfen Sie die Bearbeiten
  • in der DB gespeichert ist, als einzelne Zeichenfolge '\n'
  • aber wenn ich versuche, drucken Sie den Wert der variable Drucke '\n' nur
  • Genau das gleiche wie beim drucken "\\n". Versuchen Sie zum Beispiel zu drucken "\\n\n\\n" um zu sehen, was das bedeutet. - Ein weiterer Versuch: Was bedeutet newLine.length() zurück?
  • ich habe gerade überprüft die Länge..es ist Druck 2.
  • Genau, und das ist das problem: Der string aus der DB ist zwei Zeichen lang '\' und 'n' entspricht die Java-Repräsentation "\\n" was wiederum nicht das newline-Zeichen, das wäre '\n'.
  • dachte die Lösung .. 🙂
  • Toll 🙂 - Referenz siehe auch: stackoverflow.com/questions/1367322/...
  • Isnt es eine Möglichkeit oracle können es in einer Weise, dass java interpretiert es richtig?
  • Es muss ein newline-chracter in der Datenbank anstelle der zwei Zeichen '\' 'n'. Dann Java sieht es wie ein newline-Zeichen.

InformationsquelleAutor Anubhab | 2013-03-28
Schreibe einen Kommentar