回答編集履歴

1

リソースのクローズ

2015/10/21 14:15

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -1 +1,49 @@
1
1
  FileWriterのコンストラクタで,第2引数にtrueを指定すると「追記モード」になり,存在するファイルに追記できます.
2
+
3
+
4
+
5
+ 質問とは関係ないですが,br,bwなどのリソースはfinallyブロックでcloseするか,Java7以降ならtry-with-resources文を使う事をおすすめします.
6
+
7
+ ```java
8
+
9
+ BufferedReader br = null;
10
+
11
+ BufferedWriter bw = null;
12
+
13
+ try{
14
+
15
+ br = new BufferedReader(new FileReader("log.txt"));
16
+
17
+ bw = new BufferedWriter(new FileWriter("log.txt"));
18
+
19
+ //略
20
+
21
+ } catch (IOException e){
22
+
23
+ } finally {
24
+
25
+ try{
26
+
27
+ if(br != null) br.close();
28
+
29
+ } catch (IOException e){}
30
+
31
+ try{
32
+
33
+ if(bw != null) bw.close();
34
+
35
+ } catch (IOException e){}
36
+
37
+ }
38
+
39
+ ```
40
+
41
+ ```java
42
+
43
+ try(BufferedReader br = new BufferedReader(new FileReader("log.txt"));
44
+
45
+ BufferedWriter bw = new BufferedWriter(new FileWriter("log.txt"))){
46
+
47
+ } catch (IOException e){}
48
+
49
+ ```