2008-10-29 9 views
160

सी # में स्थैतिक संपत्ति Environment.Newline है जो चल रहे प्लेटफॉर्म के आधार पर बदल गई है।जावा में पर्यावरण की तरह न्यूलाइन निरंतर परिभाषित किया गया है। सी # में न्यूलाइन?

क्या जावा में कुछ भी समान है?

+2

तकनीकी रूप से आपको पूछना चाहिए: जावा कैसे नईलाइन संपत्ति का प्रतिनिधित्व करता है जिसे सी # पर्यावरण के रूप में कार्यान्वित किया गया है। जब इसे बनाया गया तो – Peter

+0

@ पीटर एर ... क्यों? – Basic

+1

अब मैं अपने बयान को दोबारा पढ़ता हूं, मुझे आश्चर्य है कि क्यों मुझे भी आश्चर्य है कि मैं क्या सोच रहा था – Peter

उत्तर

220
System.getProperty("line.separator"); 

अन्य गुणों के लिए http://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html देखें।

+138

एफवाईआई, जावा 7 के रूप में एक तरीका है जो सीधे मूल्य लौटाता है: [System.lineSeparator()] (http://docs.oracle। com/javase/7/docs/api/java/lang/system.html # lineSeparator% 28% 2 9) –

+5

एंड्रॉइड में, कॉल को एपीआई 19 –

54

ध्यान रखें कि यह संपत्ति उतनी उपयोगी नहीं है जितनी लोग सोचते हैं। सिर्फ इसलिए कि आपका ऐप विंडोज मशीन पर चल रहा है, उदाहरण के लिए, इसका मतलब यह नहीं है कि वह जिस फ़ाइल को पढ़ रहा है वह विंडोज-स्टाइल लाइन विभाजक का उपयोग करेगा। कई वेब पृष्ठों में "\ n" और "\ r \ n" का मिश्रण होता है, जो अलग-अलग स्रोतों से एक साथ घिरे हुए होते हैं। जब आप लॉजिकल लाइनों की श्रृंखला के रूप में टेक्स्ट पढ़ रहे हैं, तो आपको हमेशा तीन प्रमुख लाइन-सेपरेटर शैलियों की तलाश करनी चाहिए: विंडोज़ ("\ r \ n"), यूनिक्स/लिनक्स/ओएसएक्स ("\ n") और प्री-ओएसएक्स मैक ("\ r")।

जब आप टेक्स्ट लिख रहे हैं, तो आपको इस बात से अधिक चिंतित होना चाहिए कि आप किस प्लेटफ़ॉर्म पर चल रहे हैं उससे फ़ाइल का उपयोग कैसे किया जाएगा। उदाहरण के लिए, यदि आप लोगों को विंडोज नोटपैड में फ़ाइल पढ़ने की उम्मीद करते हैं, तो आपको "\ r \ n" का उपयोग करना चाहिए क्योंकि यह केवल एक प्रकार का विभाजक पहचानता है।

+0

भी आवश्यक है प्री-ओएसएक्स मैक ("\ r") अभी भी व्यावहारिक रूप से उपयोग में है ? या यह कहना सच है कि इसे सुरक्षित रूप से "भुला दिया जा सकता है"? – Pacerier

+6

ठीक है, मशीनें अभी भी उपयोग में हैं या नहीं, आपको यह मानना ​​है कि वहां अभी भी दस्तावेज हैं जो प्री-ओएसएक्स मैक पर * लिखे गए * थे। मुझे पता है कि यह छोटा करने के लिए मोहक है '(?: \ R? \ N | \ r) 'to' (?: \ R? N)', लेकिन नहीं, मुझे नहीं लगता कि यह सुरक्षित है। मैं '(?: \ R \ n | [\ r \ n]) वैसे भी पसंद करता हूं; मुझे पता है कि यह और अधिक पात्र हैं, लेकिन यह साफ दिखता है। : डी और यदि आपको परवाह नहीं है * आप कितने * रेखा विभाजक उपभोग करते हैं, '[\ r \ n] +' ठीक काम करता है। –

70

जावा 7 के रूप में:

System.lineSeparator() 

Java API : System.lineSeparator

प्रणाली पर निर्भर लाइन विभाजक स्ट्रिंग देता है। यह हमेशा समान मूल्य देता है - सिस्टम प्रॉपर्टी का प्रारंभिक मान line.separator। यूनिक्स सिस्टम पर, यह "\ n" लौटाता है; माइक्रोसॉफ्ट विंडोज सिस्टम पर यह "\ r \ n" लौटाता है।

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