2012-01-01 33 views
8

Tôi đang viết một ứng dụng Android, nơi tôi đang ghi một tệp vào đĩa với một giá trị dữ liệu trên mỗi dòng. Sau đó, các tệp như vậy có thể được đọc lại vào ứng dụng và định dạng dữ liệu đơn giản này được deserialized trở lại thành một mảng. Hiện tại, tôi đang phân định các giá trị/dòng dữ liệu trong mã tuần tự hóa và mã hóa khử hàng hóa với \n.Trả về vận chuyển/ngắt dòng bằng n trong chuỗi trong Android

Android xử lý lợi nhuận vận chuyển và ngắt dòng như thế nào? Tôi có thể sử dụng \n một cách an toàn trong ngữ cảnh này không?

Trả lời

24

của nó tốt hơn để sử dụng

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

Có, dấu tách dòng trong Windows là \r\n (CR + LF), trên máy Mac \r và trên Linux (Android) \n. Java có một trình đọc thông minh trả về dòng không có dấu tách và một println sử dụng cài đặt nền tảng System.getProperty("line.separator").

+3

Wikipedia cho biết các máy Mac mới hơn (OS X) sử dụng \ n như Linux. Xem: http://en.wikipedia.org/wiki/Newline –

+0

Và ký tự '0x15', EBCDIC NEL, cũng được coi là một dòng mới. –

2

1 - giống như những người kéo trước khi tôi tôi nói, System.getProperty("line.separator") là bạn của bạn.

2 - Như android được dựa trên một hạt nhân Linux nó rất có thể rằng line.separator tài sản là trên thực tế \n

3 - khi đọc hoặc viết các tập tin của bạn sử dụng đệm đọc và nhà văn một lần lượt là phương pháp của họ readLinenewLine . Bạn không nên gặp bất kỳ sự cố nào khi xử lý các tệp đầu vào/đầu ra từ/cho các nền tảng khác.

Các vấn đề liên quan