كيف يمكنني الحصول على شخصية سطر جديدة تعتمد على النظام الأساسي؟

StackOverflow https://stackoverflow.com/questions/207947

سؤال

كيف يمكنني الحصول على سطر جديد يعتمد على النظام الأساسي في Java؟لا أستطيع استخدام "\n" في كل مكان.

هل كانت مفيدة؟

المحلول

بالإضافة إلى الخاصية line.separator، إذا كنت تستخدم Java 1.5 أو إصدار أحدث، فسيتم استخدام String.format (أو غيرها التنسيق الطرق) التي يمكنك استخدامها %n كما في

Calendar c = ...;
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY%n", c); 
//Note `%n` at end of line                                  ^^

String s2 = String.format("Use %%n as a platform independent newline.%n"); 
//         %% becomes %        ^^
//                                        and `%n` becomes newline   ^^

انظر Java 1.8 API للمنسق لمزيد من التفاصيل.

نصائح أخرى

وجافا 7 ديها الآن System.lineSeparator() طريقة .

ويمكنك استخدام

System.getProperty("line.separator");

للحصول على فاصل سطر

إذا كنت تحاول كتابة سطر جديد إلى ملف، يمكنك ببساطة استخدام BufferedWriter في <لأ href = "http://java.sun.com/javase/6/docs/api/java/io/BufferedWriter. أتش تي أم أل # سطر جديد () "يختلط =" noreferrer "> السطر الجديد () طريقة .

وهذا هو أيضا ممكن: String.format("%n")

وأو String.format("%n").intern() لإنقاذ بعض بايت.

العموم لانغ ديها حقل ثابت متاح يسمى <لأ href = "HTTP: // commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/SystemUtils.html#LINE_SEPARATOR">SystemUtils.LINE_SEPARATOR

إذا كنت تكتب إلى ملف، وذلك باستخدام مثيل BufferedWriter، استخدم الطريقة newLine() لذلك المثيل. وهو يوفر وسيلة منصة مستقلة لكتابة سطر جديد في ملف.

StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();

وهذا المقتطف أعلاه سيكون قد سلسلتين مفصولة خط جديد بغض النظر عن المنصات.

وتجنب إلحاق سلاسل باستخدام سلسلة + سلسلة الخ، واستخدام ب StringBuilder بدلا من ذلك.

String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top