Это устраняет проблему в Swift 4:
Измените код ниже
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {}
на следующее:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {}
В дополнение к свойству 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 ^^
. API Java 1.8 для Formatter для более подробной информации.
Это также возможно: String.format("%n")
.
Или String.format("%n").intern()
для сохранения некоторых байтов.
notepad
не является правильным инструментом для просмотра содержимого файла. Используйте hexdump
или od
.
– ceving
25 June 2015 в 12:18
\r\n
– mr5
25 June 2015 в 23:58
Используйте метод newLine()
класса BufferedWriter
, который обеспечивает независимый от платформы способ записи новой строки в файле
Библиотека commons-lang имеет постоянное поле, доступное под названием SystemUtils.LINE_SEPARATOR
Вы можете использовать
System.getProperty("line.separator");
, чтобы получить разделитель строк
System.lineSeparator()
, так что вот окончательный ответ на этот вопрос?
– Gray
6 July 2018 в 16:11
Java 7 теперь имеет метод System.lineSeparator()
.
lineSeperator(int)
, который возвращает некоторое количество разделителей строк, так как я часто обнаруживаю, что использую 2 сразу.
– Kon
12 March 2016 в 00:22
String.join("", Collections.nCopies(5, System.lineSeparator()))
– Samuel Harmer
1 March 2017 в 12:05
Если вы пытаетесь записать новую строку в файл, вы можете просто использовать метод newLine () BufferedWriter.
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
Вышеприведенный фрагмент будет иметь две строки, разделенные новой строкой независимо от платформ.
Избегайте добавления строк с помощью String + String и т. д. Вместо этого используйте 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( );
string + string
».
– Spoike
5 December 2012 в 15:43
%
из пользовательского ввода! – Konstantin Weitz 12 November 2013 в 23:09String.format(s + "%n")
легко решаетсяString.format("%s%n", s)
. Всегда рискованно включать пользовательский ввод в качестве тела формата (так же, какeval()
). – Franklin Yu 5 May 2016 в 04:11