0

現在のプロジェクトでは、コード ジェネレーターを作成しています。インターフェイスはコマンド ラインになります。

コマンド ライン引数で、ユーザーは仕様ファイルと宛先フォルダーを指定します。これにより、コード ジェネレーターが特定の宛先フォルダーにファイルを生成するように誘導されます。

たとえば、私のコマンドライン引数は次のようになります

VocArchSpec.text NetworkSpec.text ./src/fr/inria/arles/pankesh/gen ./src/fr/inria/arles/pankesh/gen/logic ./src/fr/inria/arles/pankesh/gen/sim/device ./src/fr/inria/arles/pankesh/gen/util

上記のコマンドで、1 と 2 は指定、その他は宛先のパスです。このパスは、コード ジェネレーターによって使用されます。コード ジェネレーターは、指定された宛先フォルダーに複数の Java ファイルを生成します。

しかし、私の問題は、次のエラーが発生することです:

java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)

===============> 次のコードを使用してファイルを生成します。

new File(GlobalVariable.utilDirPath).mkdir(); // Assume that I set the value GlobalVariable.utilDirPath variable through command line arguments. 
file = new File(GlobalVariable.utilDirPath + "/" + unit.getName());
file.createNewFile();
FileWriter writer = new FileWriter(file);
writer.write(content);
writer.flush();
Writer.close();
4

1 に答える 1

1

この例外を取得する1つの方法は、ファイルが作成されるパス(フォルダー)が存在しない場合です。コードは、指定されたフォルダーが存在することを確認する必要があります。

これらを作成する簡単な方法については、File.mkdirs()を調べてください。

于 2012-06-18T17:29:54.633 に答える