FileOutputStream()可以将相对路径作为参数

时间:2010-04-07 06:55:39

标签: java servlets fileoutputstream

我正在创建一个FileOutputStream对象。它在构造函数中将文件或String作为参数。

我的问题是,我可以给它一个相对URL作为文件位置的参数,它似乎不起作用,但我想尝试一下,如果这是可能的(如果不是我会停止尝试)。

如果不可能,我怎样(从servlet)获取绝对路径(在文件系统上,而不是逻辑URL)到当前位置,以便我可以将它传递给构造函数。

我的部分问题是我的开发框是Windows,但我会将其发布到Unix框中,因此路径不能相同,即在Windows C:/ ....和unix / usr / ...

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

这应该与相对路径一起使用,但要注意当前目录是什么。例如,如果您使用Eclipse,则当前目录是项目目录(包含类的目录)。

答案 2 :(得分:1)

来自File javadoc:

  相反,相对路径名必须根据从其他路径名获取的信息进行解释。默认情况下,java.io包中的类始终解析当前用户目录的相对路径名。此目录由系统属性user.dir命名,通常是调用Java虚拟机的目录。

编辑: Bozho是对的,我没有读到这是一个servlet。我顺从他的回答:

ServletContext.getRealPath(relativePath)