Hi Gary,
On 12/01/2018 2:28 AM, Gary Adams wrote:
Here's a simple fix to the split pattern when output lines are using
mixed line separators in the same outputstream . e.g. split("\r\n|\n")
This is rather crude. I'd prefer to see reuse of existing library
classes that already handle all the supported versions of newlines.
BufferedReader does that.
private List<String> asLines(String buffer) {
return new BufferedReader(new
StringReader(buffer)).lines().collect(Collectors.toList());
}
Going forward we could stream-ify outputAnalyzer further. :)
Cheers,
David
-----
import java.util.stream.Collectors;
import java.util.List;
import java.io.BufferedReader;
import java.io.StringReader;
public class Lines {
public static void main(String[] args) {
List<String> l = asLines("Line1\nLine2\r\nLine3\rLine4");
for (String s : l) {
System.out.println(s);
}
}
static private List<String> asLines(String buffer) {
return new BufferedReader(new
StringReader(buffer)).lines().collect(Collectors.toList());
}
}
Issue: https://bugs.openjdk.java.net/browse/JDK-8031482
Webrev: http://cr.openjdk.java.net/~gadams/JDK-8031482
testing in progress ...