import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Counter extends HttpServlet { @Override public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { res.setContentType("text/html; charset=Windows-31J"); PrintWriter out = res.getWriter(); out.println(""); int i; File f = new File(getServletContext().getRealPath("/WEB-INF/counter.txt")); BufferedReader fin = null; try { fin = new BufferedReader(new FileReader(f)); i = Integer.parseInt(fin.readLine()); } catch (FileNotFoundException e) { i = 0; // ファイルがなければ 0に } catch (NullPointerException e) { i = 0; // ファイルが空なら 0に } catch (NumberFormatException e) { i = 0; // 数字以外が書かれていれば 0に } finally { if (fin!=null) { fin.close(); // closeを忘れない } } PrintWriter fout = new PrintWriter(new FileWriter(f)); fout.println(++i); fout.close(); // closeを忘れない out.printf("あなたは %d番目の来訪者です。%n", i); out.println(""); out.close(); // closeを忘れない } }