2012-01-01 54 views
8

私は、1行に1つのデータ値でファイルをディスクに書き込んでいるAndroidアプリケーションを作成しています。その後、そのようなファイルをアプリケーションに読み戻すことができ、この単純なデータフォーマットを逆シリアル化して配列に戻すことができます。現時点では、シリアル化およびデシリアライゼーションコードのデータ値/行を\nと記述しています。Androidの文字列の nでキャリッジリターン/改行を返します。

Androidはキャリッジリターンとそのような改行をどのように処理しますか? \nはここで安全に使用できますか?

答えて

24

その優れた

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

はい、Windowsの下の行区切りは、Mac \r上およびLinux(アンドロイド)\nに、\r\n(CR + LF)です。 Javaにはセパレータなしの行を返す巧妙なリーダーとプラットフォーム設定System.getProperty("line.separator")を使用するprintlnがあります。

+3

ウィキペディアでは、新しいMac(OS X)はLinuxのように\ n使います。 See:http://en.wikipedia.org/wiki/Newline –

+0

そして '0x15'文字、EBCDIC NELも改行と見なされます。 –

2

1使用するために - 私の前に、トウ人などを私はSystem.getProperty("line.separator")はあなたの友人である、と言います。

2 - アンドロイドは、Linuxカーネルに基づいていることがline.separatorプロパティが実際に\n

3である可能性が最も高い - あなたのファイルを読み書きするとき、そのメソッドreadLinenewLineそれぞれバッファさリーダライタを使用。他のプラットフォームからの入出力ファイルを扱う際には問題はありません。

関連する問題