Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /