Выполняет то же самое задание, что и HeaderNameValueEncode (), но также кодирует символы%, поэтому заголовок может быть надежно декодирован позже.
static string EncodeHeaderValue(string value)
{
return Regex.Replace(value, @"[\u0000-\u0008\u000a-\u001f%\u007f]", (m) => "%"+((int)m.Value[0]).ToString("x2"));
}
static string DecodeHeaderValue(string encoded)
{
return Regex.Replace(encoded, @"%([0-9a-f]{2})", (m) => new String((char)Convert.ToInt32(m.Groups[1].Value, 16), 1), RegexOptions.IgnoreCase);
}
В дополнение к 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 для Средства форматирования для получения дополнительной информации.
При попытке записать новую строку в файл, Вы могли бы просто использовать BufferedWriter новая строка () метод.
Можно использовать
System.getProperty("line.separator");
для получения разделителя
строки