teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

せっかくなのでStream APIに一本化

2018/02/11 14:51

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,9 +6,6 @@
6
6
  import java.io.InputStreamReader;
7
7
  import java.io.IOException;
8
8
 
9
- import java.util.List;
10
- import java.util.stream.Collectors;
11
-
12
9
  import java.nio.file.Files;
13
10
  import java.nio.file.Path;
14
11
  import java.nio.file.Paths;
@@ -30,14 +27,18 @@
30
27
  System.out.println("Input id you want to delete: ");
31
28
  String delId = stdIn.readLine();
32
29
 
33
- List<String> lines = fIn.lines()
30
+ fIn.lines()
34
31
  .filter(line -> !line.startsWith(delId))
32
+ .forEach(line -> {
33
+ try {
34
+ fOut.write(line);
35
+ fOut.newLine();
36
+ }
37
+ catch(IOException e) {
35
- .collect(Collectors.toList())
38
+ throw new UncheckedIOException(e);
39
+ }
40
+ })
36
41
  ;
37
- for(String line: lines) {
38
- fOut.write(line);
39
- fOut.newLine();
40
- }
41
42
  }
42
43
 
43
44
  Files.move(