【发布时间】:2014-10-23 21:36:31
【问题描述】:
我制作了一个小型 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运行时不创建新文档?
感谢任何帮助。
【问题讨论】:
-
发生异常时显示“错误”没有帮助。尝试至少打印堆栈跟踪:
ex.printStackTrace() -
你的班级名称是
public static void main(String[] args0) { }吗?您是否正确导出了.jar文件? -
主类是 public static void main(String[] args){} 我相信我确实正确导出了它。
-
提供您在命令行中实际键入的命令以尝试运行它:)
-
很有可能它实际上正在创建文件,但不是您期望它放置的位置。您在 NetBeans 中运行的目录可能与从命令行运行时的目录不同。