2
データ付きのファイルを使用するサーブレットがあります。このファイルへの相対パスはweb.xmlに含まれています。 私は、ファイルからデータを読み込み、コードの一部、次のようしている:これはサーブレットであるためJavaサーブレット - ファイルにデータを書き込む
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;
}
}
をし、それは私のPC上で動作しません、私は絶対パスを使用することはできません。 誰も私がファイルにデータを書き込む方法を知っていますか?
正確な質問は何ですか? web.xmlで絶対パスを使用することはできません。それとも、あなたが理解できない何らかの例外がありますか?データをファイルに書き込むことができます。サーブレットは、ディレクトリに書き込むためのOSファイル書き込み権限が必要なサーブレットコンテナプロセスで実行されることに注意してください。 – ivy
ファイルをサーバーまたはクライアントのホストに書き込むかどうかを明確にしてください。 – anubhava