1

デバッグ目的で出力をファイルに保存するようにプログラムを取得しようとしています。問題は、どこにもファイルを作成せずに、エラーなしでコンパイルできることです。これはおそらく非常に単純なことですが、私はそれを理解できず、しばらくの間Javaでコーディングしていません。

public static void main(String[] Args) {
    FileOutputStream out = null;
    try {
        out = new FileOutputStream("out.txt");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    PrintWriter ps = new PrintWriter(out);
    for (int l = 1; l < 1001; l++) {
        ps.println((translation(makeString(l))));
        System.out.println((translation(makeString(l))));
    }
    try {
        out.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

前もって感謝します!

4

3 に答える 3

2

絶対パスなしでFileOutputStreamを作成しています。結果は、プログラムの現在のディレクトリに関連します。以下に、絶対パスを指定する方法を示します。

public static void main(String[] Args) {
    FileOutputStream out = null;
    try {
        out = new FileOutputStream("c:\\out.txt");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    PrintWriter ps = new PrintWriter(out);
    for (int l = 1; l < 1001; l++) {
        ps.println((translation(makeString(l))));
        System.out.println((translation(makeString(l))));
    }
    try {
        out.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

ファイルがC:ドライブルートフォルダに表示されます。

于 2012-10-30T12:26:21.737 に答える
1

このコードをEclipseで実行している場合は、workspace/projectフォルダーを検索すると、そこに1つ見つかります。

于 2012-10-30T12:27:12.597 に答える
1

FileOutputStreamは、ファイルが存在しない場合はファイルを作成します。FileOutputStream(java.lang.String)を参照してください。

ファイルを実行すると、ファイルは現在のディレクトリにあります。コードが実行されている場所を確認するには、次の行を追加します。

System.out.println(new java.io.File(".").getAbsolutePath());

これにより、現在の作業ディレクトリが出力されます。

于 2012-10-30T12:29:13.920 に答える