回答編集履歴
2
追記
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
> ① まず、try文の中に書かれている File Writerは文字列をファイルに書き込むクラスで実行時例外が起きる可能性があるクラス?
|
2
2
|
|
3
|
-
例外が起きた場合でも、必ず開放する必要があるリソースです。
|
3
|
+
`try(...)` の中にあるリソースは、例外が起きた場合でも、必ず開放する必要があるリソースです。
|
4
4
|
たとえば以下のようなケースがあるので、必ず開放する必要があるリソース、という概念が一般的にあります。
|
5
5
|
|
6
6
|
例: ファイルのリソースをとったまま例外でプログラムが終了 -> ファイルディスクリプタが開放されなくなる -> ファイルが読み書きできなくなる
|
1
追記
answer
CHANGED
@@ -1,12 +1,16 @@
|
|
1
|
-
> ①まず、try文の中に書かれている File Writerは文字列をファイルに書き込むクラスで実行時例外が起きる可能性があるクラス?
|
1
|
+
> ① まず、try文の中に書かれている File Writerは文字列をファイルに書き込むクラスで実行時例外が起きる可能性があるクラス?
|
2
2
|
|
3
3
|
例外が起きた場合でも、必ず開放する必要があるリソースです。
|
4
4
|
たとえば以下のようなケースがあるので、必ず開放する必要があるリソース、という概念が一般的にあります。
|
5
5
|
|
6
6
|
例: ファイルのリソースをとったまま例外でプログラムが終了 -> ファイルディスクリプタが開放されなくなる -> ファイルが読み書きできなくなる
|
7
7
|
|
8
|
-
|
8
|
+
例外を起こす可能性があるのは `.write()` メソッドです。
|
9
9
|
|
10
|
+
Ref: [https://docs.oracle.com/javase/jp/7/api/java/io/OutputStreamWriter.html#write(char[], int, int)](https://docs.oracle.com/javase/jp/7/api/java/io/OutputStreamWriter.html#write(char[], int, int))
|
11
|
+
|
12
|
+
> ② File Writerをnewしてその中に(”data.txt")というものをお文字列として入れている?
|
13
|
+
|
10
14
|
`"data.txt"` は単にファイル名です。 `data.txt` というファイルを書き込みで開く動作になります。
|
11
15
|
|
12
16
|
|