0

Javaを使用して、データを含むファイルを作成しています。しかし、私は問題に遭遇します。実際、Eclipse から実行すると、ファイルの作成に成功し、そのファイルに「hello」と書き込みます。しかし、そのコードを jar ファイルにエクスポートし、コマンド ライン (java -jar myappli.jar) で実行しようとすると、ファイルが作成されません。理由がわかりません。

これは非常に単純な私のJavaファイルです。

何か答えがあれば、喜んでお答えします:) ありがとうございます。

package testjar;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;

public class Main {
public static void main(String[] args)
{
    FileOutputStream f = null;
    try
    {
        f = new FileOutputStream(new File("Export_XML.xml"));
        System.setOut(new PrintStream(f));
        System.out.println("hello");
    }
    catch(java.io.IOException e)
    {
        e.printStackTrace();
    }
    finally
    {
        try
        {
                if(f!=null)
                        f.close();
        }
        catch(IOException e) {e.printStackTrace();}
    }
}
}
4

2 に答える 2

0

例外が発生しない場合は、作成されている可能性があります。違いは作業ディレクトリです。new File を呼び出すときに絶対パスを指定していないため、JVM は JVM の現在の作業ディレクトリにファイルを作成します。これは、jar から実行している場合と、Eclipse から実行している場合では異なる可能性があります。

于 2014-10-01T16:36:48.517 に答える
0

具体的に何が間違っているのかわかりませんが、を独自の変数にしてみてnew File('Export_XML.xml')ください。xmlFile.createNewFile();System.setOut()

于 2014-10-01T16:40:18.437 に答える