を使用してリソース ファイルをロードする方法に従いましたgetClass.getResource(path)
。コードのスニペットは次のとおりです。
String url = "Test.properties";
System.out.println("Before printing paths..");
System.out.println("Path2: "+ getClass().getResource(url).getPath());
FileInputStream inputStream = new FileInputStream(new File(getClass().getResource(url).toURI()));
i_propConfig.load(inputStream);
inputStream.close();
階層を使用してEclipseで構成しました(ソースの下にSwingDemoというフォルダーがあります。SwingDemoには、Javaファイルとリソースファイルがあります)...
- ソース
- スイングデモ
- CustomDialog.java
- Test.properties
- スイングデモ
これをEclipseで実行しているとき、すべてが正常に実行されています。しかし、コマンドラインからアプリを実行しようとするとすぐにヌルポインター例外が発生します..
コマンド ラインのデプロイ階層は次のとおりです。
フォルダ:D:\Work\Java Progrms\SwingDemo
階層:
- スイングデモ
- CustomDialog.java
- Test.properties
まず、このファイルSwingDemo
をコマンドライン (javac CustomDialog.java
) からフォルダー内にコンパイルしました。次に、Java Programs フォルダーに 1 ステップ戻り (.java クラス内のパッケージについて述べたように)、有名なアプリケーションを使用してアプリを実行します。
java SwingDemo.CustomDialog
以前に new FileInputStream("path") を使用したときは、同様の手順に従っていました。この方法を行った後、ヌルポインター例外が発生しています..
getClass().getResource(url)
特定のディレクトリからファイルをロードできないと思います。そのため、リソースを Java ファイルと同じディレクトリに配置しました。Eclipseで問題なく動作しました。しかし、コマンドラインから実行するとエラーが発生するのはなぜですか。