2012-01-01 10 views
8

में तार में मैं एक Android ऐप्लिकेशन जहाँ मैं प्रत्येक पंक्ति में एक डेटा मान के साथ डिस्क पर एक फ़ाइल लिख रहा हूँ लिख रहा हूँ टूट जाता है। बाद में, ऐसी फ़ाइलों को ऐप में वापस पढ़ा जा सकता है, और यह सरल डेटा प्रारूप एक सरणी में वापस deserialized है। फिलहाल, मैं \n के साथ serialization और deserialization कोड में डेटा मूल्य/रेखाओं को चित्रित कर रहा हूं।कैरिज रिटर्न/रेखा के साथ n एंड्रॉयड

कैसे एंड्रॉयड संभाल कैरिएज रिटर्न और इस तरह पंक्ति विराम? क्या मैं इस संदर्भ में \n सुरक्षित रूप से उपयोग कर सकता हूं?

उत्तर

24

इसका बेहतर

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

हाँ, Windows के तहत लाइन विभाजक \r\n है (सीआर + वामो), मैक \r पर और लिनक्स (Android) \n पर। जावा में एक चालाक पाठक है जो बिना विभाजक के लाइन को लौटाता है, और एक प्रिंटएलएन जो मंच सेटिंग System.getProperty("line.separator") का उपयोग करता है।

+3

विकिपीडिया का कहना है कि नए मैक (ओएस एक्स) लिनक्स की तरह \ n का उपयोग करते हैं। देखें: http://en.wikipedia.org/wiki/Newline –

+0

और '0x15' वर्ण, ईबीसीडीआईसी एनईएल को भी एक नई लाइन माना जाता है। –

2

1 उपयोग करने के लिए - मेरे सामने टो लोग कहते हैं कि मैं की तरह, System.getProperty("line.separator") अपने दोस्त है।

2 - के रूप में एंड्रॉयड एक लिनक्स कर्नेल पर आधारित है यह सबसे अधिक संभावना है कि line.separator संपत्ति वास्तव में है \n

3 - जब पढ़ने या अपनी फाइल को लिख बफ़र पाठक और लेखक एक क्रमशः उनके तरीकों का उपयोग readLine और newLine । आपको अन्य प्लेटफार्मों के लिए इनपुट/आउटपुट फाइलों से निपटने में कोई परेशानी नहीं होनी चाहिए।

संबंधित मुद्दे