您现在的位置:软界网技术中心WEB开发JSP > 技术显示
在JSP中操作文件
2002-4-23 17:37:00   网友评论       阅读次数 点此评论
   综述:无论是用JavaServer Page(JSP)技术,还是ASP、PHP技术实现的网站,都可能有计数器、投票等功能,这些功能的实现离不开对文件的操作。由此可见,文件操作对网站的建设来说,有着很重要的作用。
  本章首先介绍了JSP中文件的基本操作,包括读取操作、写入操作以及追加操作,然后在此基础上,通过实例,说明如何通过这三种基本操作,来实现计数器、投票等复杂功能。
JSP对文件的基本操作有哪些?

  读取操作

  读取操作是文件操作的基本功能之一,在计数器、投票统计中有着广泛的应用。那么,该操作在JSP中是如何实现的呢?请看下面的例子。

  本例用到了两个文件,一个jsp文件,一个Javabean文件。通过jsp中调用Javabean可以轻松读取文本文件,注意请放置一个文本文件afile.txt到web根目录的test目录下,Javabean文件编译后将class文件放到对应的class目录下(tomcat环境)。

Read.jsp

<html>
<head>
<title>读取一个文件</title>
</head>
<body bgcolor="#000000">
<%--调用Javabean --%>
<jsp:useBean id="reader" class="DelimitedDataFile" scope="request">
<jsp:setProperty name="reader" property="path" value="/test/afile.txt" />
</jsp:useBean>

<h3>文件内容:</h3>
<p>
<%
int count = 0;
while (reader.nextRecord() != -1)
{
count++;
%>
<b>第<% out.print(count); %>行:</b>
<% out.print(reader.returnRecord()); %><br>    
<% } %>
</p>
</body>
</html>

DelimitedDataFile.Java
import Java.io.*;
import Java.util.StringTokenizer;

public class DelimitedDataFile
{
private String currentRecord = null;
private BufferedReader file;
private String path;
private StringTokenizer token;

//创建文件对象
public DelimitedDataFile()
{
     file = new BufferedReader(new InputStreamReader(System.in),1);
}

public DelimitedDataFile(String filePath) throws FileNotFoundException
{
     path = filePath;
     file = new BufferedReader(new FileReader(path));
}
  
//设置文件路径
  public void setPath(String filePath)
  {
     path = filePath;
try {
file = new BufferedReader(new FileReader(path));
} catch (FileNotFoundException e) {
      System.out.println("file not found");
     }
}

//得到文件路径
public String getPath()
{
   return path;
}

//关闭文件
public void fileClose() throws IOException
{
   file.close();
}

//读取下一行记录,若没有则返回-1
public int nextRecord()
{
     int returnInt = -1;
     try {
     currentRecord = file.readLine();
     } catch (IOException e)
     {
     System.out.println("readLine problem, terminating.");
     }
     if (currentRecord == null)
     returnInt = -1;
     else
     {
      token = new StringTokenizer(currentRecord);
     returnInt = token.countTokens();
     }
     return returnInt;
}

    //以字符串的形式返回整个记录
public String returnRecord()
{
return currentRecord;
}
}
共6页。 1 2 3 4 5 6 :
相关文章
最新更新
文章阅读排行
周排行
月排行
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml    
 
      来源: 作者:
 
【评论查看】
更多关于 在JSP中操作文件,  的技术