Ich lese eine Datei und erstelle eine Integer-Liste.Filtern einer nicht ganzzahligen Zahl in einer Liste von Strings
Beispieldatei:
1 1 2 3 4
2 2 5 abc
4 2 8
auf den folgenden Code ausgeführt fehlschlägt, weil der „abc“ kann nicht in eine ganze Zahl umgewandelt werden.
Könnten Sie mir bitte mitteilen, ob es möglich ist, die nicht ganzzahligen Felder in Java 8 sauberer herauszufiltern? ZB: Filter verwenden?
try (BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)))) {
List<Integer> allValues = new ArrayList<>();
br.lines().forEach(
strLine -> {
List<String> wordsList = Arrays.asList(strLine.trim().split(" "));
List<Integer> routes = wordsList.stream()
.filter(e -> e != null && !e.isEmpty())
.map(Integer::valueOf)
.collect(Collectors.toList());
allValues.addAll(routes);
});
allValues.forEach(str -> System.out.print(str));
}