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()因为你的程序并不是 Java 中唯一使用它的部分。

于 2014-10-01T16:40:18.437 回答