0

ファイルのドラッグアンドドロップGUIが機能するJavaプログラムを作成しています。DnD GUI でドラッグされたすべてのファイルは、ファイル名を保持する String 配列に配置されます。配列をループし、パスを削除してファイル名のみを残してから、ファイル名 (スキャナーの場合) と目的の出力ファイル名 (PrintWriter の場合) を各ループの最後にこのメソッドに送信するメソッドがあります。

public void fileGenerator(String in, String out) {          
    try {
    String current_directory = System.getProperty("user.dir");
    Scanner input = new Scanner(new FileReader(current_directory+"/"+in));
    PrintWriter output = new PrintWriter(current_directory+"/"+out);
        while(input.hasNext()) {
            String line = input.nextLine();
            output.println(line);
        } output.close(); 
    input.close();
    } catch (FileNotFoundException e) {
        System.out.println(e.getMessage());
    }
}

コードが機能していないため、出力ファイルが生成されません。フルパスで「そのようなファイルまたはディレクトリはありません」というエラーが表示されます...ターミナルでテストしましたが、正しいパスです。どんな入力でも大歓迎です。

すべての Java ソース ファイル、クラス、および入力ファイルが同じディレクトリにあることに注意してください。

ありがとう!

4

1 に答える 1

1

最初の問題は、例外を無視しているため、入力ファイルが正常に開かれたかどうかわからないことです。例外を無視しないでください。例外をどう処理すればよいかわからない場合でも、例外を印刷して、後で問題を分析できるようにしてください。

次に、コードをデバッグし、例外が発生した場所を確認します。発生した場合は、各ステップの値を確認します。

第三に、あなたの質問に答えるために、Eclipseで作業していると仮定して、ファイルを相対パスで参照すると、作業ディレクトリはソース/クラスフォルダーではなく、プロジェクトフォルダーになります。

于 2012-04-30T23:24:37.297 に答える