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

質問編集履歴

2

追記(2020-7-31) 無名クラス

2020/07/30 23:05

投稿

xebme
xebme

スコア1109

title CHANGED
File without changes
body CHANGED
@@ -110,4 +110,19 @@
110
110
  }
111
111
  }
112
112
  }
113
- ```
113
+ ```
114
+
115
+ ### 追記(2020-7-31)
116
+ いまさらですが、無名クラスを使用するやり方を追記。
117
+
118
+ ```Java
119
+ import java.util.*;
120
+ import java.io.InputStreamReader;
121
+
122
+ public class Main_ {
123
+ public static void main(String[] args) throws Exception {
124
+ try (Scanner sc = new Scanner(
125
+ new InputStreamReader(System.in) {@Override public void close() {}})){
126
+ }
127
+ }
128
+ }

1

java.io.Console の情報を追記

2020/07/30 23:05

投稿

xebme
xebme

スコア1109

title CHANGED
File without changes
body CHANGED
@@ -87,4 +87,27 @@
87
87
  }
88
88
  }
89
89
  }
90
+ ```
91
+
92
+ ### 追記(2019-6-29)
93
+ いまさらですが、java.io.Console を使うと try-with-resources でストリームが閉じられないことがわかりました。ただし eclipse で実行すると Console は null になります。コマンドラインで実行してください。
94
+
95
+ ```Java
96
+ import java.io.BufferedReader;
97
+ import java.io.Console;
98
+ import java.io.IOException;
99
+
100
+ public class ConsoleIo {
101
+ public static void main(String[] args) {
102
+ Console consl = System.console();
103
+ for (int i = 0; i < 2; ++i) {
104
+ try (BufferedReader rdr = new BufferedReader(consl.reader())) {
105
+ String line = rdr.readLine();
106
+ System.out.println(line);
107
+ } catch (IOException e) {
108
+ e.printStackTrace();
109
+ }
110
+ }
111
+ }
112
+ }
90
113
  ```