我正在尝试让我的程序将输出保存到文件以进行调试。问题是,它在没有任何错误的情况下进行编译,而不是在任何地方创建文件。这可能是非常简单的事情,但我无法弄明白,一段时间没有用Java编写。
public static void main(String[] Args) {
FileOutputStream out = null;
try {
out = new FileOutputStream("out.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
PrintWriter ps = new PrintWriter(out);
for (int l = 1; l < 1001; l++) {
ps.println((translation(makeString(l))));
System.out.println((translation(makeString(l))));
}
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
提前致谢!
答案 0 :(得分:2)
您正在创建没有绝对路径的FileOutputStream。结果将与程序的当前目录相关。以下显示了如何给出绝对路径。
public static void main(String[] Args) {
FileOutputStream out = null;
try {
out = new FileOutputStream("c:\\out.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
PrintWriter ps = new PrintWriter(out);
for (int l = 1; l < 1001; l++) {
ps.println((translation(makeString(l))));
System.out.println((translation(makeString(l))));
}
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
将使您的文件显示在C:驱动器根文件夹...
答案 1 :(得分:1)
如果您在eclipse中运行此代码,请在workspace/project
文件夹中搜索,您应该在那里找到一个
答案 2 :(得分:1)
如果文件不存在,FileOutputStream会创建该文件:请参阅FileOutputStream(java.lang.String)
运行该文件时,该文件将位于当前目录中。要查看代码的运行位置,请添加以下行:
System.out.println(new java.io.File(".").getAbsolutePath());
这将打印出当前的工作目录。