TEXT DATA を保存

servlet TEXT DATA FILE
1234567890
abcdefgHIJKLMN
漢字のテスト

TEXT DATA をファイルに保存します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. サーバーサイドでなければ出来ないことに、ファイルの入出力があります。
    クライアントサイドでは、セキュリティの保護からファイルのアクセスが禁止されています。
    また複数のプレイヤーが交信しながらゲームを進めるとなると、サーバーサイドに限ります。
    多くのプレイヤーが参加するネットワークゲームでは、データベースが使われるのですが、 今回は簡単な TEXT DATA をファイルに保存してみましょう。
    ファイルの入出力は、普通の Java アプリと同じように行うことが出来ます。
    詳細は「プログラム入門(Java)/Console Mode Program/ファイル入出力」を参照して下さい。
  2. サーブレットのディクトリ構成です。
    +がフォルダーで、・がプログラマが格納するファイルで、*がコンパイラなどで作成するファイルです。
    +C:\tomcat\webapps\
        +piyo
            +WEB-INF
                +classes
                    ・TextPUT.java      //TEXT DATA を保存する Servlets
                    *TextPUT.class
                ・web.xml               //Servlets のマッピング
    
  3. TEXT DATA をファイルに保存する TextPUT.java です。
    "piyo\WEB-INF\classes\ のフォルダーに格納して下さい。
    //★ TEXT DATA をファイルに保存    前田 稔
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class TextPUT extends HttpServlet
    {   public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException
        {   res.setContentType("text/html; charset=Shift_JIS");
            PrintWriter out = res.getWriter();
    
            out.println("<HTML><BODY>");
            out.println("<h2>Text File Put Test<h2>");
    
            try
            {   File outfile = new File("c:\\tmp\\work.txt");
                BufferedWriter outbuf = new BufferedWriter(new FileWriter(outfile));
                outbuf.write("servlet TEXT DATA FILE\n");
                outbuf.write("1234567890\n");
                outbuf.write("abcdefgHIJKLMN\n");
                outbuf.write("漢字のテスト\n");
                outbuf.close();
            }
            catch(IOException e)
            {   System.out.println(e);  }
    
            out.println("ファイル出力が終わりました<br>");
            out.println("</BODY></HTML>");
        }
    }
    
  4. TextPUT.java をコンパイルして TextPUT.class を作成します。
    詳細は JSP Error Guide を参照して下さい。
  5. "C:\tomcat\webapps\piyo\WEB-INF\web.xml に TextPUT の定義を追加します。
        ・・・
    <servlet>
    <servlet-name>TextPUT</servlet-name>
    <servlet-class>TextPUT</servlet-class>
    </servlet>
        ・・・
    <servlet-mapping>
    <servlet-name>TextPUT</servlet-name>
    <url-pattern>/TextPUT</url-pattern>
    </servlet-mapping>
    
    </web-app>
    
  6. サーブレットを実行します。
    apache-tomcat を立ち上げて、WWW ブラウザに URL を張り付けて下さい。
    http://localhost:8080/piyo/TextPUT
    プログラムが正常に実行されると C:\TMP\work.txt にファイルが作成されます。
    PHP ではプログラムと同じカレントディレクトリにファイルが作成されたのですが、サーブレットでは様子が違います。
    "work.txt" で保存すると C:\tomcat\ に保存されました。
    今回使用する WWWサーバーは自分のマシンなので、Cドライブに自由にアクセス出来ますが、本来はセキュリティ保護されています。
    その場合はデータベースや Serializable など、別の対策が必要かも知れません。

Java Game Program