2
我有一个使用数据文件的servlet。该文件的相对路径包含在web.xml中。 我有以下的代码部分,它从文件读取数据:Java Servlet - 将数据写入文件
public class LoginServlet extends HttpServlet {
private Map<String, UserData> users;
public void init() throws ServletException {
super.init();
String userFilePath = getServletContext().getInitParameter("user.access.file");
InputStream userFile = this.getClass().getResourceAsStream(userFilePath);
try {
users = readUsersFile(userFile);
} catch (IOException e) {
e.printStackTrace();
throw new ServletException(e);
}
....
....
}
private Map<String, UserData> readUsersFile(InputStream is) throws IOException{
BufferedReader fileReader = new BufferedReader(new InputStreamReader(is));
Map<String, UserData> result = new HashMap<String, UserData>();
....
....
....
return result;
}
}
因为这是一个servlet,它不仅会在我的电脑上工作,我不能使用绝对路径。 有谁知道我可以如何使用类似的方式将数据写入文件?
究竟是什么问题?你不能在你的web.xml中使用绝对路径,因为你想让它可配置?或者你是否得到某种你不明白的异常?您可以将数据写入文件,请记住,servlet运行在需要操作系统文件写入权限才能写入目录的servlet容器进程中。 – ivy
请说明是否要将文件写入服务器或客户端主机? – anubhava