我制作了一个小型的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运行时不会创建新文档?
感谢任何帮助。
答案 0 :(得分:1)
如果您没有收到错误报告,那么几乎可以肯定 创建文件。但是,当您从命令行运行时,NetBeans运行程序的工作目录可能与工作目录不同,因此该文件可能最终位于与您正在查找的目录不同的目录中英寸
(从评论转换的答案:这确实是OP遇到的问题。)