[解決済み] Javaでコンソールから1文字を読み取る方法(ユーザーが入力した通りに)?
2022-07-23 12:40:09
質問
Javaで、ユーザが入力した文字列をコンソールから読み取る簡単な方法はありますか?それは可能ですか?私はこれらのメソッドで試してみましたが、それらはすべて、ユーザが を押すまで待ちます。 キーを押すのを待ちます。
char tmp = (char) System.in.read();
char tmp = (char) new InputStreamReader(System.in).read ();
char tmp = (char) System.console().reader().read(); // Java 6
System.inはユーザーの入力を認識するのは を入力する が押されるまで、System.in はユーザーの入力を認識しないのではないかと思い始めています。
どのように解決するのですか?
UNIX システムでは、'stty' コマンドでモードを変更することができます。
さて、Javaに関してですが...以下を参照してください。 PythonとJavaのノンブロッキングコンソール入力 . を抜粋しています。
もしあなたのプログラムがコンソールベースでなければならないのなら 端末をラインモードからキャラクタモードに切り替えて 行モードから文字モードに切り替えなければなりません。 プログラムが終了する前に元に戻すことを に戻す必要があります。オペレーティングシステム間で オペレーティング・システム間でこれを行うポータブルな方法は システム間でこれを行うポータブルな方法はありません。
提案の1つは、JNIを使うことです。 繰り返しになりますが、これはあまりポータブルではありません。 スレッドの最後にある別の提案、および上記の投稿と共通するのは、次のものを使用することを検討することです。 jCurses .
関連
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Javaの「for each」ループはどのように機能するのですか?
-
[解決済み] .NETコンソールアプリケーションでアプリケーションのパスを取得するにはどうすればよいですか?
-
[解決済み] Javaで現在のスタックトレースを取得するにはどうすればよいですか?
-
[解決済み] Javaからフォルダ内の全ファイルを読み込むには?
-
[解決済み】ユーザーから1文字だけ読み取るには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
executeQuery()でデータ操作文が発行できない。解決方法
-
プロジェクトの依存関係を解決できない。
-
メモ帳でJavaプログラムをコンパイルして実行すると、Could not find or load main class ...というエラーが表示される。解決方法
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
Uncaught ReferenceError: は定義されていません。
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
-bash: java: コマンドが見つからない 解決方法
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.