程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 學Java-計數器-文件版

學Java-計數器-文件版

編輯:關於JAVA

我們先看一個使用文件的代碼

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
 // 此文件的版權歸
 // Java世紀網(http://www.java2000.net)和 CSDN(www.csdn.net)所有
 // 作者:老紫竹
 // 轉載必須保留此版權聲明
%>
<%@page import="java.io.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!// 一個同步用的鎖
 private static final Object lock = new Object();
 // 注意默認的文件目錄在tomcat/bin目錄下面
 private static final File file = new File("counter.dat");%>
Hello Word!
<%
 Integer count = 0;
 synchronized (lock) {
  // 我們從文件讀取數據
  // 如果文件不存在,則需要初始化
  if (!file.exists()) {
   // 創建一個新的文件
   file.createNewFile();
   count = 0;
  } else {
   // 准備讀取文件
   FileReader reader = new FileReader(file);
   // 從文件裡讀取int數據
   count = reader.read();
   // 關閉文件
   reader.close();
  }
  count++;
  // 准備寫入文件
  FileWriter writer = new FileWriter(file);
  // 寫入
  writer.write(count);
  // 關閉文件
  writer.close();
 }
%>
當前一共訪問次數為:<%=count%>
</body>
</html>

再次強調,默認的文件目錄在tomcat/bin目錄下面。我們修改代碼,將文件放到我們的項目的WEB-INF/classes目錄下面

修改後的代碼

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
 // 此文件的版權歸
 // Java世紀網(http://www.java2000.net)和 CSDN(www.csdn.net)所有
 // 作者:老紫竹
 // 轉載必須保留此版權聲明
%>
<%@page import="java.io.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!// 一個同步用的鎖
 private static final Object lock = new Object();
 // 注意默認的文件目錄在tomcat/bin目錄下面
 private static File file = null;%>
Hello Word!
<%
 Integer count = 0;
 synchronized (lock) {
  // 初始化文件名
  if (file == null) {
   file = new File(application.getRealPath(".")
     + "/WEB-INF/classes/counter.dat");
  }
  // 我們從文件讀取數據
  // 如果文件不存在,則需要初始化
  if (!file.exists()) {
   // 創建一個新的文件
   file.createNewFile();
   count = 0;
  } else {
   // 准備讀取文件
   FileReader reader = new FileReader(file);
   // 從文件裡讀取int數據
   count = reader.read();
   // 關閉文件
   reader.close();
  }
  count++;
  // 准備寫入文件
  FileWriter writer = new FileWriter(file);
  // 寫入
  writer.write(count);
  // 關閉文件
  writer.close();
 }
%>
當前一共訪問次數為:<%=count%>
</body>
</html>

生成的文件如下:

後面我們將使用MySQL數據庫進行存儲

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved