You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Jan Matèrne (jhm)" <ap...@materne.de> on 2013/09/03 09:05:22 UTC
Bug in IOHelper?
I think this is a bug ...
org.apache.camel.util.IOHelper.loadText(InputStream)
If the textfile is a one liner without a LF at the end, this method still
appends a \n.
https://svn.apache.org/repos/asf/commons/proper/io/trunk/src/main/java/org/a
pache/commons/io/IOUtils.java uses an interim StringWriter and copies all
bytes (!) from the input stream to the SW.
Do you think that this is a bug too? Then I could open an issue.
Jan
/**
* Loads the entire stream into memory as a String and returns it.
*
* Warning, don't use for crazy big streams :)
*/
public static String loadText(InputStream in) throws IOException {
StringBuilder builder = new StringBuilder();
try {
BufferedReader reader = buffered(new InputStreamReader(in));
while (true) {
String line = reader.readLine();
if (line != null) {
builder.append(line);
builder.append("\n");
} else {
break;
}
}
return builder.toString();
} finally {
close(in);
}
}
AW: Bug in IOHelper?
Posted by "Jan Matèrne (jhm)" <ap...@materne.de>.
I filed an issue
https://issues.apache.org/jira/browse/CAMEL-6701
Jan
> -----Ursprüngliche Nachricht-----
> Von: Jan Matèrne (jhm) [mailto:apache@materne.de]
> Gesendet: Dienstag, 3. September 2013 09:05
> An: dev@camel.apache.org
> Betreff: Bug in IOHelper?
>
> I think this is a bug ...
>
> org.apache.camel.util.IOHelper.loadText(InputStream)
>
>
>
> If the textfile is a one liner without a LF at the end, this method
> still appends a \n.
>
>
>
> https://svn.apache.org/repos/asf/commons/proper/io/trunk/src/main/java/
> org/a
> pache/commons/io/IOUtils.java uses an interim StringWriter and copies
> all bytes (!) from the input stream to the SW.
>
>
>
> Do you think that this is a bug too? Then I could open an issue.
>
>
>
>
>
> Jan
>
>
>
>
>
>
>
> /**
>
> * Loads the entire stream into memory as a String and returns it.
>
> *
>
> * Warning, don't use for crazy big streams :)
>
> */
>
> public static String loadText(InputStream in) throws IOException {
>
> StringBuilder builder = new StringBuilder();
>
> try {
>
> BufferedReader reader = buffered(new
> InputStreamReader(in));
>
> while (true) {
>
> String line = reader.readLine();
>
> if (line != null) {
>
> builder.append(line);
>
> builder.append("\n");
>
> } else {
>
> break;
>
> }
>
> }
>
> return builder.toString();
>
> } finally {
>
> close(in);
>
> }
>
> }
>
>
>
>
>
>