JSP文件操作之读取篇

JSP文件操作之读取篇

文件操作是网站编程的重要内容之一,asp关于文件操作讨论的已经很多了,让我们来看看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 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 bean文件源代码

//导入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;

}

}