ใน C # มีสภาพแวดล้อมของคุณสมบัติสแตติกบรรทัดใหม่ที่เปลี่ยนแปลงขึ้นอยู่กับแพลตฟอร์มที่ทำงานอยู่
มีอะไรที่คล้ายกันใน Java?
ใน C # มีสภาพแวดล้อมของคุณสมบัติสแตติกบรรทัดใหม่ที่เปลี่ยนแปลงขึ้นอยู่กับแพลตฟอร์มที่ทำงานอยู่
มีอะไรที่คล้ายกันใน Java?
คำตอบ:
ในฐานะของ Java 7 (และ Android API ระดับ 19):
System.lineSeparator()
เอกสารประกอบ: Java Platform SE 7
สำหรับ Java เวอร์ชันเก่าให้ใช้:
System.getProperty("line.separator");
ดูhttps://java.sun.com/docs/books/tutorial/essential/environment/sysprop.htmlสำหรับคุณสมบัติอื่น ๆ
ในฐานะของ Java 7:
System.lineSeparator()
Java API: System.lineSeparator
ส่งคืนสตริงตัวคั่นบรรทัดที่ขึ้นอยู่กับระบบ มันจะส่งกลับค่าเดิมเสมอ - ค่าเริ่มต้นของ line property separator บนระบบ UNIX จะส่งคืน "\ n"; บนระบบ Microsoft Windows จะส่งคืน "\ r \ n"
โปรดทราบว่าคุณสมบัตินี้ไม่มีประโยชน์อย่างที่หลายคนคิดว่าเป็น ยกตัวอย่างเช่นแอปของคุณกำลังทำงานบนเครื่อง Windows ไม่ได้แปลว่าไฟล์ที่กำลังอ่านจะใช้ตัวแยกบรรทัดสไตล์ Windows หน้าเว็บหลายแห่งมีการผสมผสานของ "\ n" และ "\ r \ n" โดยได้รับการปูด้วยกันจากแหล่งที่แตกต่างกัน เมื่อคุณอ่านข้อความเป็นชุดของบรรทัดแบบลอจิคัลคุณควรมองหารูปแบบตัวคั่นบรรทัดหลักทั้งสาม: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") และ Mac OS ล่วงหน้า ("\ r")
เมื่อคุณเขียนข้อความคุณควรกังวลกับการใช้ไฟล์มากกว่าแพลตฟอร์มที่คุณใช้งาน ตัวอย่างเช่นหากคุณคาดหวังให้ผู้คนอ่านไฟล์ใน Windows Notepad คุณควรใช้ "\ r \ n" เพราะมันรู้จักตัวคั่นประเภทเดียวเท่านั้น
(?:\r?\n|\r)ไป(?:\r?n)แต่ไม่มีผมไม่คิดว่ามันปลอดภัย ฉันชอบ(?:\r\n|[\r\n])อยู่ดี ฉันรู้ว่ามันเป็นตัวละครมากกว่า แต่มันก็ดูดีกว่า : D และหากคุณไม่สนใจว่าตัวแบ่งบรรทัดที่คุณใช้อยู่นั้น[\r\n]+ทำงานได้ตามปกติ