Skip to content

Commit 95da43b

Browse files
committed
Add Exceptional example
1 parent d0c47de commit 95da43b

File tree

1 file changed

+18
-17
lines changed
  • app/src/main/java/com/annimon/java8streamexample

1 file changed

+18
-17
lines changed

app/src/main/java/com/annimon/java8streamexample/Utils.java

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import android.content.Context;
44
import android.util.Log;
55
import com.annimon.stream.Collectors;
6+
import com.annimon.stream.Exceptional;
67
import com.annimon.stream.Stream;
78
import java.io.BufferedReader;
8-
import java.io.IOException;
99
import java.io.InputStream;
1010
import java.io.InputStreamReader;
11-
import java.util.LinkedList;
11+
import java.util.ArrayList;
1212
import java.util.List;
1313

1414
public final class Utils {
@@ -23,22 +23,23 @@ public static AdapterCollector collectAdapter(WordAdapter adapter) {
2323
}
2424

2525
public static List<Word> readWords(Context context) {
26-
final List<String> lines = new LinkedList<>();
27-
try (final InputStream is = context.getAssets().open("words.txt");
28-
final InputStreamReader isr = new InputStreamReader(is, "UTF-8");
29-
final BufferedReader reader = new BufferedReader(isr)) {
30-
String line;
31-
while ( (line = reader.readLine()) != null ) {
32-
lines.add(line);
26+
return Exceptional.of(() -> {
27+
final List<String> lines = new ArrayList<>();
28+
try (final InputStream is = context.getAssets().open("words.txt");
29+
final InputStreamReader isr = new InputStreamReader(is, "UTF-8");
30+
final BufferedReader reader = new BufferedReader(isr)) {
31+
String line;
32+
while ( (line = reader.readLine()) != null ) {
33+
lines.add(line);
34+
}
3335
}
34-
} catch (IOException e) {
35-
Log.e("Java 8 Example", "Utils.readWords", e);
36-
}
3736

38-
return Stream.of(lines)
39-
.map(str -> str.split("\t"))
40-
.filter(arr -> arr.length == 2)
41-
.map(arr -> new Word(arr[0], arr[1]))
42-
.collect(Collectors.toList());
37+
return Stream.of(lines)
38+
.map(str -> str.split("\t"))
39+
.filter(arr -> arr.length == 2)
40+
.map(arr -> new Word(arr[0], arr[1]))
41+
.collect(Collectors.toList());
42+
}).ifException(e -> Log.e("Java 8 Example", "Utils.readWords", e))
43+
.getOrElse(new ArrayList<>());
4344
}
4445
}

0 commit comments

Comments
 (0)