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

フォルダまたはJavaパッケージから実行時にクラスをロードする方法


CLASSPATHを使用すると、実行時に任意のクラスをロードできます。

.javaソースファイルと同様に、コンパイルされた.classファイルは、パッケージ名を反映する一連のディレクトリにある必要があります。ただし、.classファイルへのパスは、.javaソースファイルへのパスと同じである必要はありません。 -

のように、ソースディレクトリとクラスディレクトリを別々に配置できます。
<path-one>\sources\com\apple\computers\Dell.java
<path-two>\classes\com\apple\computers\Dell.class

これを行うことにより、ソースを明らかにすることなく、他のプログラマーにクラスディレクトリへのアクセスを許可することができます。また、コンパイラとJava仮想マシン(JVM)がプログラムで使用するすべてのタイプを検出できるように、この方法でソースファイルとクラスファイルを管理する必要があります。

クラスディレクトリへのフルパス\classesは、クラスパスと呼ばれ、CLASSPATHシステム変数で設定されます。コンパイラとJVMの両方が、パッケージ名をクラスパスに追加することにより、.classファイルへのパスを構築します。

\ classesがクラスパスで、パッケージ名がcom.apple.computersの場合、コンパイラとJVMは \ classes \ com \ apple\computersで.classファイルを検索します。

クラスパスには、複数のパスが含まれる場合があります。複数のパスは、セミコロン(Windows)またはコロン(Unix)で区切る必要があります。デフォルトでは、コンパイラとJVMは、現在のディレクトリとJavaプラットフォームクラスを含むJARファイルを検索して、これらのディレクトリが自動的にクラスパスに含まれるようにします。


  1. Javaを使用してフォルダからディレクトリ(のみ)を取得するにはどうすればよいですか?

    ListFiles()メソッドは、現在の(File)オブジェクトによって表されるパス内のすべてのファイル(およびディレクトリ)のオブジェクト(抽象パス)を保持する配列を返します。 ファイルフィルターインターフェイスは、これをパラメーターとしてlistFiles()メソッドに渡すことができるパス名のフィルターです。このメソッドは、渡されたフィルターに渡されたファイル名をフィルターします。 フォルダ内のディレクトリを取得するには、ディレクトリのみを受け入れるFileFilterを実装し、それをパラメータとしてlistFiles()メソッドに渡します。 以下は、ExampleDirectory

  2. Javaを使用してディレクトリからすべてのファイル(のみ)を一覧表示するにはどうすればよいですか?

    ListFiles()メソッドは、現在の(File)オブジェクトによって表されるパス内のすべてのファイル(およびディレクトリ)のオブジェクト(抽象パス)を保持する配列を返します。 ファイルフィルターインターフェイスは、これをパラメーターとしてlistFiles()メソッドに渡すことができるパス名のフィルターです。このメソッドは、渡されたフィルターに渡されたファイル名をフィルターします。 フォルダ内のファイルを取得するには、ファイルのみを受け入れるFileFilterを実装し、それをパラメータとしてlistFiles()メソッドに渡します。 以下は、ExampleDirectoryのコンテ