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

質問編集履歴

2

補足しました

2019/02/20 00:32

投稿

pontaq
pontaq

スコア31

title CHANGED
File without changes
body CHANGED
@@ -68,7 +68,8 @@
68
68
  ```
69
69
 
70
70
  以下は通らないとわかっていますが、
71
- これが多分なんとなくすっきりするというパターンです
71
+ これがなんとなくすっきりするというパターンです
72
+ ※KSwordOfHasteさんの例5から
72
73
  ```Java
73
74
  File[] files = new File("フォルダパス").listFiles();
74
75
 

1

括弧が多かったので訂正と追記

2019/02/20 00:32

投稿

pontaq
pontaq

スコア31

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,8 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  フォルダ内にある複数のファイルに関して、
4
- 同じ処理を行いたい
4
+ 同じ処理を行いたい
5
+ また、例外が発生した場合は処理を抜ける
5
6
 
6
7
 
7
8
  ### 発生している問題・エラーメッセージ
@@ -18,7 +19,7 @@
18
19
 
19
20
  for (File file : files)
20
21
  {
21
- try (FileInputStream in = new FileInputStream(file)))
22
+ try (FileInputStream in = new FileInputStream(file))
22
23
  {
23
24
  // 処理 }
24
25
  catch (FileNotFoundException e)
@@ -35,6 +36,50 @@
35
36
  try-catchブロックを外出しにした方がいいのかで悩んでます。
36
37
  外部からの呼び出しメソッド内です。
37
38
 
39
+ まだ自分の中で違和感がないのは以下です
40
+ ```Java
41
+ FileInputStream fileInputStream = null;
42
+ try
43
+ {
44
+ for (int i = 0; i < files.length; i++)
45
+ {
46
+ fileInputStream = new FileInputStream(files[i]);
47
+
48
+ }
49
+ }
50
+ catch (FileNotFoundException e)
51
+ {
52
+ // 処理
53
+ }
54
+ finally
55
+ {
56
+ if (fileInputStream != null)
57
+ {
58
+ try
59
+ {
60
+ fileInputStream.close();
61
+ }
62
+ catch (IOException e)
63
+ {
64
+ //
65
+ }
66
+ }
67
+ }
68
+ ```
69
+
70
+ 以下は通らないとわかっていますが、
71
+ これが多分なんとなくすっきりするというパターンです
72
+ ```Java
73
+ File[] files = new File("フォルダパス").listFiles();
74
+
75
+ for (File file : files)
76
+ {
77
+ try (FileInputStream in = new FileInputStream(file))
78
+ {
79
+ // 処理 }
80
+ }
81
+ ```
82
+
38
83
  ### 補足情報(FW/ツールのバージョンなど)
39
84
 
40
85
  Java8