我在这里有几个问题。
我正在使用以下内容将流写入文件。我想在webapp容器外面写,因为在重新部署时,所有文件都将被删除。
InputStream in = event.getFile().getInputstream();
OutputStream out = new FileOutputStream(path + fName);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
我不知道是否可以通过facesContext的externalContext实现这一点。如果是这样,请给我一个如何做的例子。
我该如何访问?例如,如果我必须按如下方式使用它,我必须使用哪条路径?
EmailAttachment attachment = new EmailAttachment();
attachment.setPath("mypictures/john.jpg");
提前致谢!
答案 0 :(得分:3)
你正在做的一切正确。使用(例如)用户tmp目录来写入此文件(System.getProperty("user.tmp.dir")
)。要访问此文件,请使用与FileInputStream
完全相同的方式使用FileOutputStream
。