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

标签 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 运行时不创建新文档?

感谢任何帮助。

最佳答案

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

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

关于java - 从命令行运行 java 不会创建 new.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537894/

相关文章:

java - JSON Jquery 到 Struts2 Action

file - 不小心删除了page.xml。我该如何取回它?

java - Windows cmd中的批处理文件不知道java程序何时终止

c# - C#中的cmd命令

java - int 可以增加一个 double 值

java - 使用 sbt java api 切换已完成的待办事项

java - Java 中的泛型,标准值

python - 超出范围后,文件句柄是否会在 Python 中自动关闭?

file - 使用 tcl 从文件中获取变量的值

android - 如何通过appium执行模拟器命令