[Java] コンソールからデータを受け取る方法(System.in)
こんにちは。明月です。
この投稿はJavaのコンソール環境でユーザからデータを入力させる方法に関する説明です。
Javaのプログラミングをすると「System.out.println」関数をよく使います。「System.out.println」関数はデータをコンソールに表示する関数です。
Eclipse(IDE)の開発環境では「sysout」だけ入力しても自動変換(Intellisense)機能で自動に変換されます。
逆に「System.in」という関数は無いかと思ったら、逆にコンソールからデータを入力するスキャン関数であります。
public class Example {
public static void main(String[] args) {
try {
// データバッファ
byte[] data = new byte[4096];
// コンソールから入力されるSystem.in.read関数
System.in.read(data, 0, 4096);
// バッファでStringに変換
String buffer = new String(data);
// \0の値を除く。
buffer = buffer.trim();
// 結果出力
System.out.println("Result : " + buffer);
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
例をみればコンソールから「test」という値を受け取って、出力しました。
上のとおりに作成しても問題ないですが、バッファを設定することが気になります。
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
// リソース概念があるので、管理がしやすい。
// バッファ設定がないのでソースがシンプルになる。
try(Scanner scanner = new Scanner(System.in)) {
// コンソールから値を受取る。
String buffer = scanner.nextLine();
// コンソールに出力する。
System.out.println("Result : " + buffer);
}
}
}
結果は同じですが、コネクションがあるので、リソース管理がしやすいです。(コンソールもIOなので結局リソースです。)
try ~ catchもなくなるし、バッファ設定がないので、コードがシンプルになりました。
ここまでJavaのコンソール環境でユーザからデータを入力させる方法に関する説明でした。
ご不明なところや間違いところがあればコメントしてください。
「Devlopment note / Java」の他投稿
- [Java] Jsonタイプのデータを使う方法(Gsonライブラリ)2020/03/11 00:30:15
- [Java] Base64をエンコード、デコードする方法2020/03/09 10:24:01
- [Java] cmdコマンドを実行するための方法2020/03/06 18:01:10
- [Java] メール(javax.mail)を発送する方法2020/03/05 20:07:49
- [Java] クラス複製(Clonable, Reflection)2020/03/05 00:03:19
- [Java] シリアライズ(直列化: Serializable)2020/03/03 00:03:33
- [Java] StringBuilderとStringBufferの差異2020/03/02 07:52:22
- [Java] Compare関数を使う方法2020/02/29 03:00:00
- [Java] 数字フォーマット(お金表示及び小数点以下表示)2020/02/28 03:00:00
- [Java] サーブレット環境で現在の実行ディレクトリを取得する方法2020/02/27 03:00:00
- [Java] 日本語をユニコードに変換して、ユニコードから日本語に変換する方法2020/02/26 03:00:00
- [Java] コンソールからデータを受け取る方法(System.in)2020/02/25 03:00:00
- [Java] Servlet環境でWebSocket通信中、HttpSessionを取得する方法2020/02/24 07:47:20
- [Java] WebSocketでWeb Sessionを使う方法(Broadcast)とウェブチャットの例2020/02/22 03:00:00
- [Java] WebSocket (ウェブソケット)2020/02/21 03:00:00
最新投稿
- check2024/04/10 19:03:53
- [Java] 64.Spring bootとReactを連結する方法(Buildする方法)2022/03/25 21:02:18
- [Javascript] Node.jsをインストールしてReactを使う方法2022/03/23 18:01:34
- [Java] 63. Spring bootでcronスケジューラとComponentアノテーション2022/03/16 18:57:30
- [Java] 62. Spring bootでWeb-Filterを設定する方法(Spring Security)2022/03/15 22:16:37
- [Java] JWT(Json Web Token)を発行、確認する方法2022/03/14 19:12:58
- [Java] 61. Spring bootでRedisデータベースを利用してセッションクラスタリング設定する方法2022/03/01 18:20:52
- [Java] 60. Spring bootでApacheの連結とロードバランシングを設定する方法2022/02/28 18:45:48
- [Java] 59. Spring bootのJPAでEntityManagerを使い方2022/02/25 18:27:48
- [Java] 58. EclipseでSpring bootのJPAを設定する方法2022/02/23 18:11:10
- [Java] 57. EclipseでSpring bootを設定する方法2022/02/22 19:04:49
- [Python] Redisデータベースに接続して使い方2022/02/21 18:23:49
- [Java] Redisデータベースを接続して使い方(Jedisライブラリ)2022/02/16 18:13:17
- [C#] Redisのデータベースを接続して使い方2022/02/15 18:46:09
- [CentOS] Redisデータベースをインストールする方法とコマンドを使い方2022/02/14 18:33:07