js|訪問|計數器|資料|資料庫 //counter.java 讀寫檔案的一個bean
===========================
//網站讀寫txt格式計數器
package net.com.util;
import java.io.*;
public class Counter extends Object {
private String currentRecord = null;//儲存文本的變數
private BufferedReader file; //BufferedReader對象,用於讀取檔案資料
private String path;//檔案完整路徑名
public Counter() {
}
// ReadFile方法用來讀取檔案filePath中的資料,並返回這個資料
public String ReadFile(String filePath) throws FileNotFoundException
{
path = filePath;
// 建立新的BufferedReader對象
file = new BufferedReader(new FileReader(path));
String returnStr =null;
try
{
// 讀取一行資料並儲存到currentRecord變數中
currentRecord = file.readLine();
}
catch (IOException e)
{//錯誤處理
System.out.println("讀取資料錯誤.");
}
if (currentRecord == null)
// 如果檔案為空白
returnStr = "沒有任何記錄";
else
{//檔案不為空白
returnStr =currentRecord;
}
// 返回讀取檔案的資料
return returnStr;
}
// ReadFile方法用來將資料counter+1後寫入到文字檔filePath中
// 以實現計數增長的功能
public void WriteFile(String filePath,String counter) throws FileNotFoundException
{
path = filePath;
// 將counter轉換為int類型並加一
int Writestr = Integer.parseInt(counter)+1;
try {
// 建立PrintWriter對象,用於寫入資料到檔案中
PrintWriter pw = new PrintWriter(new FileOutputStream(filePath));
// 用文字格式設定列印整數Writestr
pw.println(Writestr);
// 清除PrintWriter對象
pw.close();
} catch(IOException e) {
// 錯誤處理
System.out.println("寫入檔案錯誤"+e.getMessage());
}
}
}
====================================
// Counter.jsp檔案
<%@ page contentType="text/html;charset=GBK"%>
<!--建立並調用bean(counter)-->
<jsp:useBean id="counter" scope="page" class="net.com.util.Counter"/>
<%
//調用counter對象的ReadFile方法來讀取檔案lyfcount.txt中的計數
String url=request.getRealPath("count.txt");
String cont=counter.ReadFile(url);
//調用counter對象的ReadFile方法來將計數器加一後寫入到檔案lyfcount.txt中
counter.WriteFile(url,cont);%>
您是第<font color="red"> <%=cont%> </font>位訪問者
======================================
//注意:在Counter的同一目錄下建立一個count.txt檔案。。初始數字為0
======================================