- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
for (int i = 0; i != nl.length(); i++)
{
out.write(nl.charAt(i));
}
for (int i = 0; i != footerStart.length(); i++)
{
out.write(footerStart.charAt(i));
}
for (int i = 0; i != type.length(); i++)
{
out.write(type.charAt(i));
}
for (int i = 0; i != footerTail.length(); i++)
{
out.write(footerTail.charAt(i));
}
for (int i = 0; i != nl.length(); i++)
{
out.write(nl.charAt(i));
}
someone 15.12.2013 17:10 # 0
Мда. О кодировках они, похоже, не слышали.
bormand 15.12.2013 17:18 # +1
А через Charset походу не хотят конвертить из-за производительности. На каждую строку будет создаваться новый массив и все такое.
P.S. Ну хотя можно и один раз сконвертить, в статике.
bormand 15.12.2013 17:26 # 0
И если это сделать в статике, то можно юзать версию write(), которая принимает byte[]. Будет намного шустрее, чем эти говноциклы ;)
bormand 15.12.2013 17:21 # 0
tirinox 15.12.2013 18:05 # +2
roman-kashitsyn 15.12.2013 23:41 # +1
Я ради интереса заглянул в сишную реализацию в gnupg, там код гораздо понятнее и вроде даже короче. по сути заново реализующий BufferedReader.
anonimb84a2f6fd141 16.12.2013 02:37 # 0
bormand 16.12.2013 06:18 # 0
char[] и String - нельзя, полагается прогонять через Writer, чтобы в правильной кодировке писалось.
anonimb84a2f6fd141 16.12.2013 09:05 # +1
roman-kashitsyn 16.12.2013 09:07 # +2