SAK 図書館
JAVA Servlet、JSP 基礎編15 - InputStreamReader、OutputStreamWriter
■テキストファイルエンコード指定入出力
OS が S-JIS でないと、通常のファイルI/O では、入出力で S-JIS にならず、
困ったことになる。
バイナリストリームとテキスト入出力を結びつける方法があったので試して
みた。これだと、期待した文字コードで入出力が行える。
/*
========================================================================
textio1.java テキストファイル入力
========================================================================
*/
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class textio1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
String fnm = "g:/tmp/sjis.txt"; // S-JIS テキストファイル
// レスポンス準備
response.setContentType("text/html; charset=MS932");
PrintWriter out = response.getWriter();
// HTML ヘッド出力
out.println("<HTML>");
out.println("<HEAD>");
out.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
out.println("<TITLE>テキストファイル入力</TITLE>");
out.println("</HEAD>");
out.println("<BODY>");
// テキストファイル入力
FileInputStream fno = new FileInputStream(fnm);
BufferedReader bno = new BufferedReader(new InputStreamReader(fno, "MS932"));
String rec;
while ((rec = bno.readLine()) != null) {
out.println(rec + "<BR>");
}
bno.close();
fno.close();
// HTML テイル出力
out.println("</BODY>");
out.println("</HTML>");
}
}
/*
========================================================================
textio2.java テキストファイル出力
========================================================================
*/
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class textio2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
String fnm = "g:/tmp/sjis.txt"; // S-JIS テキストファイル
// レスポンス準備
response.setContentType("text/html; charset=MS932");
PrintWriter out = response.getWriter();
// HTML ヘッド出力
out.println("<HTML>");
out.println("<HEAD>");
out.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
out.println("<TITLE>テキストファイル出力</TITLE>");
out.println("</HEAD>");
out.println("<BODY>");
// テキストファイル出力
FileOutputStream in = new FileOutputStream(fnm, false);
OutputStreamWriter fno = new OutputStreamWriter(in, "MS932");
fno.write("あいうえお\n");
fno.write("かきくけこ\n");
fno.close();
in.close();
out.println("<P>処理終了</P>");
// HTML テイル出力
out.println("</BODY>");
out.println("</HTML>");
}
}
■JAVA Servlet、JSP 基礎編資料
■JAVA Servlet、JSP + PostgreSQL 編資料
■JAVA Servlet、JSP + Oracle9i 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料