OutputStream代码没有给出任何错误但缺少txt文件

时间:2012-10-30 12:23:58

标签: java outputstream printwriter

我正在尝试让我的程序将输出保存到文件以进行调试。问题是,它在没有任何错误的情况下进行编译,而不是在任何地方创建文件。这可能是非常简单的事情,但我无法弄明白,一段时间没有用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();
    }
}

提前致谢!

3 个答案:

答案 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());

这将打印出当前的工作目录。