1

私の問題にはおそらく明らかな解決策がありますが、私はあまり経験がなく、この点で行き詰まっています:

私のプログラムはディレクトリを入力として受け入れますが、存在チェックは常に否定を返します。存在チェックをコメントアウトすると、null ポインター例外が発生します。

たとえば、私の開始ディレクトリは c:\Start になります。プロンプトが表示されたらこれを入力しますが、見つかりません。理解できないディレクトリを入力するための構文はありますか?

String startDir;
Choice[] startOptions = new Choice[5];
startDir = ConsoleInput.readLine("Enter directory to start");
String startDirappend = new String (startDir+"/");
File existCheck = new File(startDirappend);
boolean exists = existCheck.exists();

while (exists!=true)
    {
    startDir = ConsoleInput.readLine("Directory not found. Enter directory to start");
    exists = existCheck.exists();
    }

Can startText = new Can(startDirappend+"START.txt"); 
4

1 に答える 1

0

ループ内で新しいパスを要求していますが、テストする新しいファイルを作成することはありません。したがって、後続の への呼び出しexistCheck.exists()は常に false を返します。

から渡された文字列を確認したい場合がありますConsoleInput.readLine。コア Java ライブラリを使用して入力を読み取っていないように見えるため、何を使用しているかを知ることで問題を特定するのに役立つ可能性があります。

現時点では確認する手段がありませんが、パスの末尾に余分な '\' を追加していることが別の潜在的な問題になる可能性はありますか?

于 2012-09-30T05:07:42.920 に答える