从命令行运行java不会创建new.txt

时间:2014-10-23 21:36:31

标签: java file cmd

我制作了一个小型的Java应用程序,其中包括将数据写入.txt文件。 如果文件存在,它应该在底部附加文本,但如果没有文件则应该创建新文件。

当我在Netbeans中执行代码时,代码正在工作,但是当我从命令行执行它时,它不起作用(Windows 7)。

这是我正在使用的代码:

Writer writer = null;

try {
    writer = new BufferedWriter(new OutputStreamWriter(
          new FileOutputStream(doc+".txt",true), "utf-8"));
    writer.write("===============================================");
    writer.append(System.lineSeparator());
    writer.write("Results "+i+":");
    writer.append(System.lineSeparator());
    //few more text lines
    //..
} catch (IOException ex) {
    System.out.println("Error.");
} finally {
   try {writer.close();} catch (Exception ex) {}
}

执行命令(文件路径100%正确):

java -jar "C:\Users\restoffilepath.jar" 5 5 1 docname

为什么从cmd运行时不会创建新文档?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您没有收到错误报告,那么几乎可以肯定 创建文件。但是,当您从命令行运行时,NetBeans运行程序的工作目录可能与工作目录不同,因此该文件可能最终位于与您正在查找的目录不同的目录中英寸

(从评论转换的答案:这确实是OP遇到的问题。)