[Servret/JSP] テキストファイルを読み込んで表示

テキストファイルの内容を読み込んで、そのまま表示するだけの処理。何に使うかは特に考えていなくて、何となく作ってみました。外部から書き込めるようにした更新履歴の表示用などで使ってみてもいいのかな。

べた書きで処理

以下のソースをそのままJSPファイルに貼り付けて、c:\dummy.txt を用意すればすぐにテストできますので、お試しください。

<%
  BufferedReader bufFileData =
          new BufferedReader(new FileReader("c:¥¥dummy.txt"));
  while(bufFileData.ready()){
    out.println(bufFileData.readLine() + "<BR>");
  }
  bufFileData.close();
%>

あ、もちろん、@page タグに import="java.io.*" を忘れずに。

Faces管理Beanから呼び出す

JSPファイルにただべたっと貼るだけの上記処理を、Faces管理Beanから呼び出せるように書き換えたものが以下のソースです。

try {
  StringBuffer bufFileDataLine = new StringBuffer();
  FileReader fileData = new FileReader(this.getLogFileName());
  BufferedReader bufFileData = new BufferedReader(fileData);

  while(bufFileData.ready()){
    bufFileDataLine.append(bufFileData.readLine() + "\n");
  }
  bufFileData.close();

  this.setOutputLogData(bufFileDataLine.toString());

} catch (FileNotFoundException e) {
  this.setMessageOfError("ファイルが見つかりません");
  e.printStackTrace();

} catch (IOException e) {
  this.setMessageOfError("エラーが発生しました");
  e.printStackTrace();
}

エラー処理は、必要に応じて適宜書き換えてください。

コメント

タイトルとURLをコピーしました