Skip to content

Commit 5b84c7e

Browse files
authored
Merge pull request #4 from EonTechnology/master
Optimize BencodeOutputStream
2 parents 0234dd7 + edf51cc commit 5b84c7e

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/main/java/com/dampcake/bencode/BencodeOutputStream.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.io.IOException;
2020
import java.io.OutputStream;
2121
import java.nio.charset.Charset;
22-
import java.util.Locale;
2322
import java.util.Map;
2423
import java.util.SortedMap;
2524
import java.util.TreeMap;
@@ -127,13 +126,23 @@ public void writeDictionary(final Map<?, ?> m) throws IOException {
127126
private static String encode(final String s) {
128127
if (s == null) throw new NullPointerException("s cannot be null");
129128

130-
return String.format(Locale.ENGLISH, "%d%s%s", s.length(), Bencode.SEPARATOR, s);
129+
StringBuilder buffer = new StringBuilder();
130+
buffer.append(s.length());
131+
buffer.append(Bencode.SEPARATOR);
132+
buffer.append(s);
133+
134+
return buffer.toString();
131135
}
132136

133137
private static String encode(final Number n) {
134138
if (n == null) throw new NullPointerException("n cannot be null");
135139

136-
return String.format(Locale.ENGLISH, "%s%d%s", Bencode.NUMBER, n.longValue(), Bencode.TERMINATOR);
140+
StringBuilder buffer = new StringBuilder();
141+
buffer.append(Bencode.NUMBER);
142+
buffer.append(n.longValue());
143+
buffer.append(Bencode.TERMINATOR);
144+
145+
return buffer.toString();
137146
}
138147

139148
private static String encode(final Iterable<?> l) {

0 commit comments

Comments
 (0)