文件操作是網(wǎng)站編程的重要內(nèi)容之一,asp關(guān)于文件操作討論的已經(jīng)很多了,讓我們來看看jsp中是如何實(shí)現(xiàn)的。 這里用到了兩個(gè)文件,一個(gè)jsp文件一個(gè)javabean文件,通過jsp中調(diào)用javabean可以輕松讀取文本文件,注意請(qǐng)放置一個(gè)文本文件afile.txt到web根目錄的test目錄下,javabean文件編譯后將class文件放到對(duì)應(yīng)的class目錄下(tomcat環(huán)境)。 Read.jsp
<html> <head> <title>讀取一個(gè)文件</title> </head> <body bgcolor="#000000"> <%--調(diào)用javabean --%> <jsp:useBean id="reader" class="DelimitedDataFile" scope="request"> <jsp:setProperty name="reader" property="path" value="/test/afile.txt" /> </jsp:useBean>
<h3>文件內(nèi)容:</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文件源代碼 //導(dǎo)入java包 import java.io.*; import java.util.StringTokenizer;
public class DelimitedDataFile {
private String currentRecord = null; private BufferedReader file; private String path; private StringTokenizer token; //創(chuàng)建文件對(duì)象 public DelimitedDataFile() { file = new BufferedReader(new InputStreamReader(System.in),1); } public DelimitedDataFile(String filePath) throws FileNotFoundException { path = filePath; file = new BufferedReader(new FileReader(path)); } //設(shè)置文件路徑 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; } //關(guān)閉文件 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; }
//以字符串的形式返回整個(gè)記錄 public String returnRecord() {
return currentRecord; } } |