📄 48.html
字号:
<STYLE type=text/css>
<!--
body,td { font-size:9pt;}
hr { color: #000000; height: 1px}
-->
</STYLE>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD><TITLE>精选文章 >> 文件操作 >> 读取Text文件</title>
</head>
<body >
<p><IMG SRC="../image/jsp001_middle_logo.gif" WIDTH="180" HEIGHT="60" BORDER=0 ALT=""></p>
<table width=100% bgcolor="#cccccc" align=center cellpadding="2" cellspacing="0" border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#EFF8FF"><td>
<a href=../list_thread.php?int_attribute=2>精选文章</a>
>> <a href=../list_thread.php?forumid=16&int_attribute=2>文件操作</a>
>> 读取Text文件 [<a href=../forum/showthread.php?goto=newpost&threadid=48>查看别人的评论</a>]<br>
<hr><p>由 webmaster 发布于: 2001-01-20 16:04</p><p> </p><p>( blueski编译,来自jsp-interest.com )
<br>
<br>
<br>附有JSP源码(TextFileReader.jsp)及JavaBean (TextFileReader.java 使用前需加以编译)
<br>
<br>
<br>我们使用了较早期的jswdk,所以我们可以确信你也可以直接使用这些代码。
<br>
<br>TextFileReader.java是一个bean, TextFileReader.jsp则是jsp文件。如果你也使用d jswdk,并使用相同的library environment,可叫bean文件放在jswdk1-0ea\examples\jsp\下的textfileaccess目录(你可以创建它),jsp文件放在jswdk1-0ea\examples\Web-inf\jsp\beans\textfileaccess目录,你也必须创建它。
<br>
<br>我们使用的jsp文件并不包含太多的java代码,主要的代码放在bean中。由此我们也可以看到JSP和JavaBean的基本联系。
<br>
<br>对于有经验的开发者:
<br>
<br>在"header"信息中我们要申明要使用、识别哪一个bean,并设置其属性。
<br>
<br>首先,我们导入bean,如果你的jswdk设置正确并已经将文件放在上述位置,那么找到 resource应该没有问题。page命令的意思是它将为整个jsp页面来进行导入。
<br>
<br><%@ page import ="textfileaccess.TextFileReader" %>
<br>
<br>告诉编译器我们将使用一个bean,以及如何识别它,并进行初始化(instansiate)。 scope指明被申明的对象对当前页有效。
<br>
<br><jsp:useBean id="file_reader"class="textfileaccess.TextFileReader" scope="session"/>
<br>
<br>然后我们决定要设置那些属性。这里是"FileName"。因为我们要使用Bean的setFileName 方法。所以Bean的名字必须包含。
<br>
<br><jsp:setProperty name="file_reader" property="FileName"/>
<br>
<br>那就是header信息,现在我们开始实际的HTML页面。
<br>
<br><html>
<br>
<br><head><title>Read a text file</title></head>
<br>
<br><body bgcolor="white">
<br>
<br><font size=4>
<br>
<br>现在我们开始编写一些Java脚本。首先检查文件名是否已经设置好。如果设好了,我们就显示文件,否则我们要转到另一个页面。
<br>
<br><%if(file_reader.getFileName() != "") { %>
<br>
<br>file_reader是一个bean,所以我们可以用Java类来存取它。 :-)现在我们得到文件名称!<br>
<br>
<br>文件名称是: '<% out.println(file_reader.getFileName()); %>' : <br><br>
<br>
<br>文件内容,如果为空的话:
<br>
<br><%if (file_reader.getContent() != null) { %>
<br>
<br>我们可以建立一个textarea (HTML) 并用getRows()和getColumns() 方法来调节到合适的位置。然后将文件内容放入。
<br>
<br><Form>
<br>
<br><TEXTAREArows=<%=file_reader.getRows()%>cols=<%= file_reader.getColumns()%>id= textarea1name= textarea1>< /FONT>
<br>
<br><%out.println(file_reader.getContent()); %>
<br>
<br></TEXTAREA>
<br>
<br></Form>
<br>
<br>如果文件为空,那么一定是发生了错误,我们将得到出错信息:
<br>
<br><% }else { %>
<br>
<br><% out.println(file_reader.getErrorMessage()); %>
<br>
<br><% } %>
<br>
<br><br><br>
<br>
<br>重置所有值并返回主页:
<br>
<br><% file_reader.reset(); %>
<br>
<br>Do you want to <a href="TextFileReader.jsp">look at another file</a>?
<br>
<br><% }else { %>
<br>
<br>文件名为空,则显示出错页面。
<br>
<br>欢迎加入这里:'Read a file in JSP'<br>
<br>
<br>这个示例在textarea中简单地显示了文件内容。<p>
<br>
<br>请填写你想看到什么文件。并确信键入了完整的路径。<p>
<br>
<br>建立带textboxbutton的form。注意我们不必定义form的action,因为使用了同一个页面。并注意textbox中要填入文件名字。
<br>
<br><form method=get>< /FONT>
<br>
<br>FileName? <input type=text name= FileName>< /FONT>
<br>
<br><input type=submit value="Show it!">
<br>
<br></form>
<br>
<br><% } %>
<br>
<br></font>
<br>
<br></body>
<br>
<br></html>
<br>
<br>jsp文件完成了。在仔细看以下Bean中的Java代码。我假设你们中的大多数都熟悉java,否则你怎么会加入JSP的行列。:-)
<br>
<br>**************JSP代码: TextFileReader.jsp
<br><!--
<br>TextFileReader.jsp
<br>Written by Martin Lindahl
<br>Copyright 1999, w3it.com, distributed by JSPea
<br>-->
<br>
<br><%@ page import = "textfileaccess.TextFileReader" %>
<br>
<br><jsp:useBean id="file_reader" class="textfileaccess.TextFileReader" scope="session"/>
<br><jsp:setProperty name="file_reader" property="FileName"/>
<br>
<br><html>
<br><head><title>Read a text file</title></head>
<br><body bgcolor="white">
<br><font size=4>
<br>
<br><% if (file_reader.getFileName() != "") { %>
<br>
<br>The content of the file '<% out.println(file_reader.getFileName()); %>' : <br><br>
<br>
<br><% if (file_reader.getContent() != null) { %>
<br>
<br><Form>
<br><TEXTAREA rows=<%= file_reader.getRows() %> cols=<%= file_reader.getColumns() %> id=textarea1 name=textarea1>
<br>
<br><% out.println(file_reader.getContent()); %>
<br>
<br></TEXTAREA>
<br></Form>
<br>
<br><% } else { %>
<br><% out.println(file_reader.getErrorMessage()); %>
<br>
<br><% } %>
<br>
<br><br><br>
<br>
<br><% file_reader.reset(); %>
<br>Do you want to <a href="TextFileReader.jsp">look at another file</a>?
<br>
<br>
<br><% } else { %>
<br>
<br>Welcome to the 'Read a file in JSP' example.<br>
<br>The example simply shows the file in a textarea.<p>
<br>Please fill out what file you want to look at. Be sure to type the complete path.<p>
<br>
<br><form method=get>
<br>FileName? <input type=text name=FileName>
<br><input type=submit value="Show it!">
<br></form>
<br>
<br><% } %>
<br>
<br></font>
<br></body>
<br></html>
<br>
<br>
<br>**************Java Bean TextFileReader.java
<br>package textfileaccess;
<br>
<br>import java.io.*;
<br>import java.awt.event.*;
<br>import java.util.*;
<br>
<br>/**
<br>* TextFileReader is a bean that provides the basic functionality for
<br>* reading a textfile.
<br>*/
<br>public class TextFileReader {
<br>
<br>private String fileName, errorMessage;
<br>private int columns, rowCount;
<br>
<br>/**
<br>* Constructs a TextFileReader.
<br>*/
<br>public TextFileReader() {
<br>reset();
<br>}
<br>
<br>/**
<br>* Resets all the variables in this bean.
<br>*/
<br>public void reset() {
<br>fileName = "";
<br>errorMessage = "";
<br>columns = 0;
<br>rowCount = 0;
<br>}
<br>
<br>/**
<br>* Sets the error message, if an error occurs.
<br>*/
<br>public void setErrorMessage(String errorMessage) {
<br>this.errorMessage = errorMessage;
<br>}
<br>
<br>/**
<br>* Returns the error message, if any.
<br>*/
<br>public String getErrorMessage() {
<br>return errorMessage;
<br>}
<br>
<br>/**
<br>* Returns the filename.
<br>*/
<br>public String getFileName() {
<br>return fileName;
<br>}
<br>
<br>/**
<br>* Sets the filename.
<br>*/
<br>public void setFileName(String fileName) {
<br>this.fileName = fileName;
<br>}
<br>
<br>/**
<br>* Returns the amount of rows in the file.
<br>*/
<br>public int getRows() {
<br>return rowCount;
<br>}
<br>
<br>/**
<br>* Returns the maximum amount of columns in a row.
<br>*/
<br>public int getColumns() {
<br>return columns;
<br>}
<br>
<br>/**
<br>* Returns the content of the file in a String.
<br>* If an error occurs, like if the file does not exists, null is returned.
<br>*/
<br>public String getContent() {
<br>String content = "";
<br>File file = new File(fileName);
<br>if (!file.exists()) {
<br>setErrorMessage("Error: The file '" + fileName + "' does not exists.");
<br>return null;
<br>}
<br>else if (file != null) {
<br>try {
<br>// Create an BufferedReader so we can read a line at the time.
<br>BufferedReader reader = new BufferedReader(new FileReader(file));
<br>String inLine = reader.readLine();
<br>while (inLine != null) {
<br>if (inLine.length() + 1 > columns)
<br>columns = inLine.length() + 1;
<br>content += (inLine + System.getProperty("line.separator"));
<br>inLine = reader.readLine();
<br>rowCount++;
<br>}
<br>return content;
<br>}
<br>catch (IOException e) {
<br>setErrorMessage("Error reading the file: " + e.getMessage());
<br>return null;
<br>}
<br>}
<br>else {
<br>setErrorMessage("Unknown error!");
<br>return null;
<br> }
<br> }
<br>}
<br>
<br></p></td>
</tr>
</table>
<p>
<CENTER><a href="../forum/newreply.php?action=newreply&threadid=48">点这里对该文章发表评论</a></CENTER>
<p>所有时间均为: 北京时间 </p>
<p><CENTER>
Copyright © 2001 - 2009 JSP001.com . All Rights Reserved <P>
<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -