2012-01-01 16 views
8

Sto scrivendo un'app per Android in cui sto scrivendo un file su disco con un valore di dati per riga. Successivamente, tali file possono essere riletti nell'app e questo semplice formato di dati viene nuovamente deserializzato in un array. Al momento, sto delineando i valori/linee dei dati nel codice di serializzazione e deserializzazione con \n.Ritorni a capo/interruzioni di riga con n nelle stringhe in Android

In che modo Android gestisce i ritorni a capo e le interruzioni di riga? Posso usare \n in sicurezza in questo contesto?

risposta

24

è più opportuno utilizzare

String lineSep = System.getProperty("line.separator"); 
3

Sì, il separatore di linea sotto Windows è \r\n (CR + LF), su Mac \r e su Linux (Android) \n. Java ha un lettore intelligente che restituisce la riga senza separatore e un println che utilizza la piattaforma System.getProperty("line.separator").

+3

Wikipedia dice che i nuovi Mac (OS X) usano \ n come Linux. Vedi: http://en.wikipedia.org/wiki/Newline –

+0

E anche il carattere '0x15', EBCDIC NEL, è considerato una nuova riga. –

2

1 - come il popolo di traino prima di me dico, System.getProperty("line.separator") è tuo amico.

2 - come Android è basato su un kernel Linux è più probabile che la proprietà line.separator è infatti \n

3 - durante la lettura o la scrittura dei file utilizzare tamponata lettore e scrittore un rispettivamente i loro metodi readLine e newLine . Non dovresti avere problemi a gestire i file di input/output da/per altre piattaforme.

Problemi correlati