送你一个
/**
* 功能:读取计数器文件
* @param request
* JSP内部对象
* @param config
* JSP内部对象
* @return
* 计数器文件中的数字字符串
*/
public String getArithmometer(HttpServletRequest request, ServletConfig config)
{
String count_str = "1";
try
{
CommFileIO myfile = new CommFileIO();//读文本文件的类
String path = config.getServletContext().getRealPath(request.getRequestURI());
File tempfile = new File(path);
path = tempfile.getParent();
File file = new File(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"));
if(!file.exists())
{
file.createNewFile();
count_str = "1";
} else
{
myfile.init(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"));
int filecount = myfile.getReadFileRowCount();
if(filecount == 0)
count_str = "1";
else
count_str = myfile.getReadFileLineValue(1);
}
}
catch(Exception exception) { }
if(count_str == null || count_str.trim().equals(""))
count_str = "1";
return count_str;
}
/**
* 功能:设置计数器的值
* @param request
* JSP内部对象
* @param config
* JSP内部对象
* @param count
* 写入计数器的值
*/
public void setArithmometer(HttpServletRequest request, ServletConfig config, int count)
{
try
{
String client_ip = request.getRemoteAddr();
HttpSession session = request.getSession();
String old_client_ip = (String)session.getAttribute("Arithmometer_client_ip");
if(old_client_ip == null || client_ip == null || !client_ip.trim().equals(old_client_ip.trim()))
{
session.setAttribute("Arithmometer_client_ip", client_ip.trim());
String path = config.getServletContext().getRealPath(request.getRequestURI());
File tempfile = new File(path);
path = tempfile.getParent();
File file = new File(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"));
if(!file.exists())
file.createNewFile();
FileWriter fw = new FileWriter(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"), false);
PrintWriter pw = new PrintWriter(fw);
pw.println(count);
pw.flush();
pw.close();
fw.close();
}
}
catch(Exception exception) { }
}
/**
* 功能:取得计数器的值,并使计数器值加一
* @param request
* JSP内部对象
* @param config
* JSP内部对象
* @return
* 计数器值字符串
*/
public String getArithmometerNumber(HttpServletRequest request, ServletConfig config)
{
String count_str = getArithmometer(request, config);
count_str = count_str.trim();
try
{
int count = (new Integer(count_str)).intValue();
setArithmometer(request, config, count + 1);
}
catch(Exception exception) { }
return count_str;
}
/**
* 功能:读取计数器文件
* @param request
* JSP内部对象
* @param config
* JSP内部对象
* @return
* 计数器文件中的数字字符串
*/
public String getArithmometer(HttpServletRequest request, ServletConfig config)
{
String count_str = "1";
try
{
CommFileIO myfile = new CommFileIO();//读文本文件的类
String path = config.getServletContext().getRealPath(request.getRequestURI());
File tempfile = new File(path);
path = tempfile.getParent();
File file = new File(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"));
if(!file.exists())
{
file.createNewFile();
count_str = "1";
} else
{
myfile.init(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"));
int filecount = myfile.getReadFileRowCount();
if(filecount == 0)
count_str = "1";
else
count_str = myfile.getReadFileLineValue(1);
}
}
catch(Exception exception) { }
if(count_str == null || count_str.trim().equals(""))
count_str = "1";
return count_str;
}
/**
* 功能:设置计数器的值
* @param request
* JSP内部对象
* @param config
* JSP内部对象
* @param count
* 写入计数器的值
*/
public void setArithmometer(HttpServletRequest request, ServletConfig config, int count)
{
try
{
String client_ip = request.getRemoteAddr();
HttpSession session = request.getSession();
String old_client_ip = (String)session.getAttribute("Arithmometer_client_ip");
if(old_client_ip == null || client_ip == null || !client_ip.trim().equals(old_client_ip.trim()))
{
session.setAttribute("Arithmometer_client_ip", client_ip.trim());
String path = config.getServletContext().getRealPath(request.getRequestURI());
File tempfile = new File(path);
path = tempfile.getParent();
File file = new File(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"));
if(!file.exists())
file.createNewFile();
FileWriter fw = new FileWriter(String.valueOf(String.valueOf(path)).concat("/arithmometer.cut"), false);
PrintWriter pw = new PrintWriter(fw);
pw.println(count);
pw.flush();
pw.close();
fw.close();
}
}
catch(Exception exception) { }
}
/**
* 功能:取得计数器的值,并使计数器值加一
* @param request
* JSP内部对象
* @param config
* JSP内部对象
* @return
* 计数器值字符串
*/
public String getArithmometerNumber(HttpServletRequest request, ServletConfig config)
{
String count_str = getArithmometer(request, config);
count_str = count_str.trim();
try
{
int count = (new Integer(count_str)).intValue();
setArithmometer(request, config, count + 1);
}
catch(Exception exception) { }
return count_str;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货