Visualizzazione post con etichetta java non legge a capo. Mostra tutti i post
Visualizzazione post con etichetta java non legge a capo. Mostra tutti i post

mercoledì 2 marzo 2016

Java leggere formattazione da database


Capita in Java, di dover generare dei file, ovviamente ogni file generato deve avere delle specifiche, per esempio un csv, nonostante la "c" stia per "comma" (ovvero virgola) puo' avere come separatore di campo qualsiasi carattere, idem per il fine riga. Puo' essere accapo (\n), ; etc.

Questo non e' un problema se scrivete direttamente nel codice, il che non e' un problema se le specifiche non cambiano mai. Siccome le specifiche cambiano, e le mamme invecchiano, e' bene parametrizzare questi valori e pescarli da qualche parte.

Questo qualche parte puo' essere un file o un database, il problema che si presenta e' lo stesso. Ovvero che java non riconosce o lo "\" e quello che lo segue come un terminatore di riga, ma lo tratta come se fosse un letterale (quindi \\n p.es). Anche se provate in unicode il problema rimane esattamente lo stesso (visto che c'e' \ davanti...).

La soluzione ce la offre Apache con StringEscapeUtils scaricabile da qui con il metodo statico StringEscapeUtils.unescapeJava(String) il quale ci restituisce la stringa "escapata" per java. La classe ne contiene altri ovviamente sia di escape che unescape, per csv, html, sql, xml etc...

Alla prossima!