我正在使用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();}
}
}
}
答案 0 :(得分:0)
如果您没有获得例外,则很可能正在创建。不同的是工作目录。由于您在调用新文件时未指定绝对路径,因此JVM将在JVM的当前工作目录中创建该文件。当您从jar运行时,与从Eclipse运行时的情况相比,这可能会有所不同。
答案 1 :(得分:0)
我看不出有什么特别错误,但请尝试将new File('Export_XML.xml')
变成自己的变量,然后执行xmlFile.createNewFile();
此外,我不鼓励使用System.setOut()
,因为您的程序不是&#39 ;是Java使用它的唯一部分。