Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のJShellセッションにファイルを読み込む方法(/openコマンドの使い方)

JShellとは

JShellは、Java 9で新たに導入されたコマンドライン型の対話式REPL(Read-Evaluate-Print-Loop)ツールです。Javaで記述された宣言、ステートメント、式をその場で評価できるほか、Javaコードスニペットを実行して即座に結果を確認することも可能です。

通常、JShellでは1行ずつコードを入力して実行しますが、すでにJavaファイルとして保存済みのコードをまとめて読み込みたいケースも多くあります。そんなときに便利なのが、「/open」コマンドです。

サンプルファイルの準備

ここでは例として、「c://temp」フォルダに「Test.java」というファイルを作成したものとします。ファイルの中身は以下の通りです。

String s1 = "TutorialsPoint";
String s2 = "Tutorix";
String s3 = s1 + s2;

int sum(int a, int b) {
    return a + b;
}

int divide(int a, int b) {
    return a / b;
}

このファイルには、文字列変数3つと、2つのメソッド(sumdivide)が定義されています。

/openコマンドでファイルを読み込む

JShellを起動し、以下のコマンドを実行すると、「Test.java」の内容をセッションに読み込めます。

C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> /open c:\temp\Test.java

jshell> /vars
|     String s1 = "TutorialsPoint"
|     String s2 = "Tutorix"
|     String s3 = "TutorialsPointTutorix"

jshell> /methods
|     int sum(int,int)
|     int divide(int,int)

読み込み結果の確認方法

「/open」コマンドを実行することで、「Test.java」ファイルの内容が現在のセッションに取り込まれました。読み込まれた内容は、以下のコマンドで確認できます。

  • /vars:セッション内で宣言された変数の一覧を表示します。上の例では、s1・s2・s3の3つのString型変数が確認できます。
  • /methods:セッション内で定義されたメソッドの一覧を表示します。sum(int,int)divide(int,int)が登録されていることがわかります。

このように、/openコマンドを活用すれば、事前に作成しておいたJavaコードをJShellセッションに簡単に取り込めます。長いコードや再利用したいコードを扱う際には、ファイルに保存してから/openで読み込む方法が非常に効率的です。

  1. JavaでCSVファイルを読み込む方法|BufferedReaderによる基本的なデータ読み取り手順

    CSVとは「Comma Separated Values(カンマ区切り値)」の略で、テキスト形式のデータファイルの一種です。CSVファイルでは、1行ごとに複数の項目がカンマ(,)で区切られて記録されており、拡張子は「.csv」として保存されます。表形式のデータを扱う際に広く利用されている、シンプルで汎用性の高いフォーマットです。 JavaでCSVファイルを読み込む仕組み JavaでCSVファイルを読み込むには、BufferedReaderクラスのreadLine()メソッドを使用するのが基本的な方法です。このメソッドを使うと、ファイルの内容を1行ずつ順番に読み取ることができます。 読み取った各

  2. Javaでプロパティファイルからデータを読み取る方法を解説

    JavaのPropertiesクラスは、Hashtableクラスのサブクラスであり、永続化可能なプロパティの集合(プロパティセット)を表します。Propertiesオブジェクトはストリームへ保存したり、ストリームから読み込んだりすることができます。また、プロパティリスト内の各キーとそれに対応する値は、どちらも文字列型として扱われます。Javaでは、Propertiesファイルを使うことでアプリケーションの設定情報を外部化し、キーと値(key-value)のペアとして管理できます。Propertiesクラスが提供するload()メソッドを使用すると、.propertiesファイルに記述されたキー