
こんにちは、tokopokoといいます。
■次のプログラムを実行すると、エラーになります。
なぜエラーになるのか、ご存知の方はいらっしゃいませんか。
import java.io.*;
class TestInput {
public static void main(String[] args) {
System.out.println("first = \"" + getInputValue("first?") + "\"");
System.out.println("second = \"" + getInputValue("second?") + "\"");
}
public static String getInputValue(String message) {
String returnString = "";
System.out.print(message);
BufferedReader input = null;
try {
input = new BufferedReader(new InputStreamReader(System.in));
returnString = input.readLine();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return returnString;
}
}
■実行例
D:\>javac TestInput.java
D:\>java TestInput
first?100
first = "100"
second?java.io.IOException: Stream closed
at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:145
)
at java.io.BufferedInputStream.read(BufferedInputStream.java:308)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at TestInput.getInputValue(TestInput.java:14)
at TestInput.main(TestInput.java:5)
second = ""
■私の環境は以下の通りです。
OS: Microsoft Windows XP Professional SP2
java: java version "1.6.0_03"
No.1ベストアンサー
- 回答日時:
メソッドの最初の呼び出しでSystem.inをclose()したので、それを再openしないかぎり次以降の呼び出しはIOExceptionになります。
われわれ一般のプログラマがSystem.inを再生成/再オープンすることはできないので、close()しないほうがいいですね。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- ゲーム Ps5で、マイクラJava版って出来ますか?今マイクラ統合版でやってて、マイクラJava版もやってみ 1 2023/02/07 20:25
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- Java JavaでWebページ作成 7 2023/07/21 21:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaでのエラーについて
-
ドロップダウンリストクリック...
-
Java1.6でOracle11gに接続エラー
-
NullPointerExceptionが出てし...
-
oracle9iにJDBC接続が出来ない
-
Fileクラス
-
WebAPIをJavaScriptで利用できる?
-
javaアプレットでゲームを作り...
-
Tomcat上で動くサーブレットが...
-
vba クリップボードクリアにつ...
-
JSPファイルで生じるエラーをど...
-
java を使って、働いている人へ
-
携帯のゲームを作りたい!
-
JAVAに最適なテキストエディタ...
-
Javaを徹底的に理解したい
-
コンパイラとエディタについて...
-
Javaの問題練習など
-
こういうサイトはないか
-
WinNTのデフラグツールについて
-
VBで作ったものを人にやらせる...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaでのエラーについて
-
struts2環境構築で不具合が出て...
-
javaからデータベースに接続 エ...
-
propertiesが読み込めなくてnul...
-
java と javax の違いは?
-
JAVA実行時エラーについて教え...
-
JNIでロードするライブラリが見...
-
AntでのJunitの試験
-
log4jを使用し、JAVAのバッチプ...
-
エラーを全て見たい
-
Eclipseにdllがうまく読み込めない
-
System.inをClose()すると例外...
-
applet windowのだしかた
-
java用語集
-
リクエストパラメータを暗号化...
-
-Applet表示でのjava.lang.Clas...
-
[RMI]UnicastRemoteObject.expo...
-
相対パスを絶対パスに。
-
JSFで、マネージビーンに画面の...
-
Tomcatでエラー
おすすめ情報