admin / 23.07.2018

Переход на новую строку java

.

Символ перехода на новую строку

От: Аноним  
Дата:  07.06.12 05:07
Оценка:

Интересно, существует ли в языке Java универсальный для всех платформ (операционных систем) способ перехода на новую строку?

В Windows этот символ равен ‘\n’ . А чему равен символ перехода на новую строку для операционной системы Unix?

Re: Символ перехода на новую строку

От: GarryIV  
Дата:  07.06.12 05:10
Оценка: +1

Здравствуйте, Аноним, Вы писали:

А>Интересно, существует ли в языке Java универсальный для всех платформ (операционных систем) способ перехода на новую строку?

System.getProperty(«line.separator»);

WBR, Igor Evgrafov

Re: Символ перехода на новую строку

От: Аноним  
Дата:  07.06.12 07:29
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Интересно, существует ли в языке Java универсальный для всех платформ (операционных систем) способ перехода на новую строку?

А>В Windows этот символ равен ‘\n’ .

А чему равен символ перехода на новую строку для операционной системы Unix?

В Windows этот символ равен ‘\r\n’.

Java: FileWriter: создайте новую строку

А в Unix это ‘\n’.
См http://en.wikipedia.org/wiki/Newline

Re: Символ перехода на новую строку

От: Аноним  
Дата:  07.06.12 14:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Интересно, существует ли в языке Java универсальный для всех платформ (операционных систем) способ перехода на новую строку?

Re[2]: Символ перехода на новую строку

От: rfq  
Дата:  07.06.12 16:07
Оценка:

Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:

А>>Интересно, существует ли в языке Java универсальный для всех платформ (операционных систем) способ перехода на новую строку?

А>>В Windows этот символ равен ‘\n’ . А чему равен символ перехода на новую строку для операционной системы Unix?

А>В Windows этот символ равен ‘\r\n’. А в Unix это ‘\n’.

В Jav’e можно всегда подавать/принимать ‘\n’, при необходимости библиотеки ввода-вывода перекодируют сами.

Re[3]: Символ перехода на новую строку

От: Аноним  
Дата:  08.06.12 06:26
Оценка:

Здравствуйте, rfq, Вы писали:

rfq>Здравствуйте, Аноним, Вы писали:

А>>Здравствуйте, Аноним, Вы писали:

А>>>Интересно, существует ли в языке Java универсальный для всех платформ (операционных систем) способ перехода на новую строку?

А>>>В Windows этот символ равен ‘\n’ . А чему равен символ перехода на новую строку для операционной системы Unix?

А>>В Windows этот символ равен ‘\r\n’. А в Unix это ‘\n’.

rfq>В Jav’e можно всегда подавать/принимать ‘\n’, при необходимости библиотеки ввода-вывода перекодируют сами.

Не всегда, а только в символьных потоках ввода/вывода.

Re[3]: Символ перехода на новую строку

Здравствуйте, rfq, Вы писали:

rfq>В Jav’e можно всегда подавать/принимать ‘\n’, при необходимости библиотеки ввода-вывода перекодируют сами.

Вы сами-то пробовали? Не далее как вчера баг исправлял — вместо \r\n передавался просто \n. И в файл, естественно, писался тоже \n. В результате всё слилось в одну строку при просмотре в win.

Правильный разделитель получается из свойства line.separator

С уважением,
Евгений aka Skipy
www.skipy.ru

Пока на собственное сообщение не было ответов, его можно удалить.

Справочник по java

Форматирование строк по шаблону

Форматирование строки в стиле функции printf языка C поддерживается с помощью:

  • Formatter — класс для форматирования строки;
  • Formattable — интерфейс форматирования для объектов;
  • System.out.printf(…) — форматированный вывод в системную консоль;
  • String.format(…) — создание отформатированной строки;

Естественно форматирование адаптировано к языку java, т.е. поддерживаются такие java типы как byte, BigDecimal и Calendar. Более жесткая проверка типов. Возможность использования локализации.

структура шаблона

%[argument_index$][flags][width][.precision]conversion

  • argument_index — опциональный параметр указывающий номер аргумента, первый аргумент — "1$", второй — "2$", и т.д.;
  • flags — опциональный параметр, набор символов модифицирующих формат вывода. Набор флагов зависит от conversionх;
  • width — ширина, опциональный параметр задающий минимальное число символов, которое должно быть записано;
  • precision — точность, опциональный параметр обычно ограничивающий число выводимых символов, более спец.

    значения зависит от conversion;

  • conversion — преобразование, обязательный параметр символ задающий как аргумент должен быть отформатирован. Множество допустимых значений для конкретного аргумента зависит от типа аргумента;

преобразования

  • 'b', 'B' — в логический тип, если аргумент null, выводится строка "false".

    Java: FileWriter: создайте новую строку

    Если аргумент типа boolean или Boolean, вызывается String.valueOf(). В остальных случаях результат "true";

  • 'h', 'H' — в шестнадатиричное целое число. Если аргумент null, выводится "null". В остальных случаях вызывается Integer.toHexString(arg.hashCode());
  • 'sv, 'S' — в строку. Если аргумент null, выводится "null". Если аргумент с интерфейсом Formattable, то вызывается его метод formatTo. В остальных случаях вызывается метод аргумента arg.toString();
  • 'c', 'C' — в юникод символ;
  • 'd' — в целое десятиченое число;
  • 'o' — в целое восмиричное числов;
  • 'x', 'X' — в целое шестнадцатириченое число;
  • 'e', 'E' — вещественное число в научной нотации;
  • 'f' — десятичное вещественое число;
  • 'g', 'G' — вещественное число в научной нотации или в десятичном формате в зависимости от точности (параметр precision), значение округляется;
  • 'a', 'A' — шестнадцатиричное вещественное число с точкое и экспонентой ;
  • 't', 'T' — префикс для преобразования временных значений, далее идут уточнияющие символы преобразования;
  • '%' — вывод сивола '%' ('\u0025');
  • 'n' — вывод разделителя строк используемого на текущей платформе;

интерфейс Formattable

Служит для форматирования объекта в строку. Если он не определен то для форматирования используется метод toString. Ниже приведен пример форматирования класса для использования в http get запросе.

Продолжаем тему работы со строками. Как вы поняли из предыдущего урока, строка String является некой константой, и каждый раз вы просто заново создаете некую новую константу и кладете ее в свою переменную, таким образом следует понимать, что любое изменение в строках связано с использованием памяти под новую строку.

Сей прекрасный код создаст 100 строк, которые будут хранится в памяти, пока сборщик мусора не удалит их. для того, поэтому, если вы напишите такой код в реальном проекте, то вам оторвут руки. Чтобы редактировать строки следует использовать класс обертку StringBuilder.

Переход на новую строку

Предыдущий пример можно переписать следующим образом:

Конструктор StringBuilder может принимать на вход строку, с которой можно проводить дальнейшие манипуляции. Кроме методов, которые позволяют добавить в конец строки различные типы данных (append) он также умеет удалять и вставлять символы в строки:

Для того, чтобы вернутся от StringBuilder к String необходимо вызвать метод toString();

Главная идея урока: «Если вы собираетесь часто изменять строку (например в цикле) то используйте класс — обертку StringBuilder». Если это ваш первый язык программирования, то вы скорей всего ничего не поняли из этого урока, не расстраивайтесь, переходите к следующим.

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*