2016-10-03 2 views
0

Ich habe ein Problem, wenn ich Zellen mit '\' darin lesen und dann versuchen, es wegen der Java-Escape-Eigenschaft zu '\' zu ersetzen.Lesen von .CSV in Java mit Backslash

Zum Beispiel: „Fehler: Die bereitgestellten P \ jb credenti“

Als ich das von einer Zelle direkt abgelesen werden:

if (type == TStream.Spreadsheet) { 
      try { 
       FileInputStream stream = new FileInputStream(file); 
       Workbook workbook = Workbook.getWorkbook(stream); 
       Sheet sheet = workbook.getSheet(0); 

       int rows = sheet.getRows(); 

       int ignored = 0; 
       int parsed = 0; 

       for (int i = 1; i < rows; i++) { 
        try { 
         Cell content = sheet.getCell(0, i); 

Und danach es ausdrückte in einem Objekt, das ich gemacht seine Informationen speichern:

ObjectThatIMade object_= new ObjectThatIMade(); 

    object_.setContent(content.getContents().replace("\\", "\\\\")); 

es ist nicht das ‚\‘ ändert ‚\\‘, habe ich das gleiche mit replaceAll es funktioniert auch nicht. Es speichert auf die gleiche Weise und wenn ich versuche, es per JSON an meinen Webservice zu senden, wird es wegen des '\' in der Zeichenfolge nicht funktionieren, es gibt mir einen Fehler.

Gibt es eine Möglichkeit zu garantieren, dass "\" durch "\\" ersetzt wird?

Vielen Dank für Ihre Zeit!

+3

Sie bauen Ihre JSON höchstwahrscheinlich falsch. Verwenden Sie eine Bibliothek, um es zu tun; Versuchen Sie nicht, die JSON-Zeichenfolge selbst zu erstellen. – VGR

+0

Sie haben bereits eine Zeichenkette, die unlescaped Backslashes korrekt enthalten kann. Der einzige Grund, sie zu umgehen, ist, wenn Sie manuell einen String in Java mit ihnen erstellen –

+0

Könnten Sie bitte die Implementierung des Aufbaus eines JSON-Dokuments veröffentlichen? –

Antwort

0

Auch wenn ich versuchte, mit JSON Object einzufügen, gab es mir Fehler, vielleicht mache ich etwas falsch, aber was ich getan habe und es jetzt funktioniert, ist die .replace("\\","\\\\") vor der Zuordnung zum JSON-Objekt zu verwenden.

Und es funktionierte, ich arbeite mit mehreren Anwendungen und diese Anwendungen enthalten mehrere Parsing-Dateien, die viele Probleme generiert und unnötige Komplexität hinzufügen.

Vielen Dank für Ihre Hilfe Jungs!