FileOutputStream没有写入服务器上的磁盘?文件在哪里?

时间:2013-06-01 00:58:16

标签: java tomcat io fileoutputstream dynamic-reports

我一直在尝试使用动态报告生成报告文件,但它似乎似乎没有在服务器上创建文件。当我使用在本地运行的相同方法时,它会生成文件,但是当我在服务器上运行它时,没有创建文件。我在Eclipse中运行Tomcat 7。该文件应该使用 FileOutputStream 创建。

这里的方法适用于本地,但不适用于Tomcat:

StyleBuilder plainStyle = stl.style().setFontName("FreeUniversal");
StyleBuilder boldStyle = stl.style(plainStyle).bold();
StyleBuilder italicStyle = stl.style(plainStyle).italic();
StyleBuilder boldItalicStyle = stl.style(plainStyle).boldItalic();

try {
    report().title(
        Templates.createTitleComponent("Fonts"),
        cmp.text("FreeUniversal font - plain").setStyle(plainStyle),
        cmp.text("FreeUniversal font - bold").setStyle(boldStyle),
        cmp.text("FreeUniversal font - italic").setStyle(italicStyle),
        cmp.text("FreeUniversal font - bolditalic").setStyle(boldItalicStyle))
        .toDocx(createFile("docx"))
//      .show()
        ;
} catch (DRException e) {
    e.printStackTrace();
}

哦和CreateFile(...)方法:

private FileOutputStream createFile(String extension) throws FileNotFoundException {
    FileOutputStream file;
    String filePath = reportsPath + "generated_report." + extension;
    filePath = "generated_report." + extension;
    System.out.println("FILENAME IS: " + filePath);

    file = new FileOutputStream(new File(filePath));

    return file;
}

我知道这里的reportsPath不活跃。

所以没有例外。顺便说一下,也许有可能在这个服务器上也没有创建其他文件,因为我也是通过servlet上传文件并且它被使用了,但它不会出现在路径的任何地方而且它没有似乎被保存了,但我无论如何都不需要保留上传的文件,所以这不是一个问题,但现在呢?我需要能够找到这些报告,因此必须创建文件。

而且我确定这不是我找不到文件,我到处运行搜索,实际上在我运行服务器的所有计算机上,没有使用该名称创建的文件。

那么,有什么想法吗?它必须是Tomcat配置问题吗?

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:0)

输出被写入您在构造函数中提供的文件。如果那是相对文件名,则在执行代码时它相对于当前工作目录。

否则抛出了IOException,代码根本没有执行。