創建txtRead.jsp
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<%@ page import="java.io.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>使用JSP讀取TXT格式文件</title>
</head>
<body>
<%
String path="E:\\FILE"; //目錄分隔符必須用雙斜槓
File file=new File(path,"jsp.txt");
FileReader fr=new FileReader(file); //字符輸入流
BufferedReader br=new BufferedReader(fr); //使文件可按行讀取並具有緩衝功能
StringBuffer strB=new StringBuffer(); //strB用來存儲jsp.txt文件裏的內容
String str=br.readLine();
while(str!=null){
//out.println(str);
strB.append(str).append("<br>"); //將讀取的內容放入strB
str=br.readLine();
}
br.close(); //關閉輸入流
fr.close();
%>
<%=strB %>
</body>
</html>
關於IO的幾個類:
類File是文件和目錄路徑名的抽象表示形式,其構造方法爲public File(String parent,String child)根據父路徑名字符串和子路徑名字符串創建一個新的File對象
類FileReader是用字符流方式來讀取字符文件的便捷類,其構造方法public FileReader(File file)創建一個新的從給定的File對象中讀取數據的FileReader對象,此對象是一個字符輸入流。
類BufferedReade從字符輸入流中讀取文本,對一個字符輸入流對象進行包裝,能夠緩衝各個字符,從而提供字符、數組和行的高效讀取,其構造方法public BufferedReader(Reader in)創建一個以默認大小爲緩衝區的緩衝字符輸入流,可以對文本文件進行讀取。
用BufferedReader的方法String readLine()可以讀取文本的一行,然後將讀取指針指向將要讀取的下一行,返回一個包含讀取的行的內容字符串(但不包含任何行終止符),如果已到達流末尾,則返回null。這裏使用了StringBuffer對象來存儲讀取出來的文本內容,通過該對象的append的調用可以方便地改變該對象的長度,將一個新字符串追加到現有字符串後面。
注意:
1、創建File對象必須用絕對路徑“E:\\FILE”。此外,目錄分隔符不能爲“\”必須爲“\\”。
2、文本文件行的終止符爲('\n')或('\r'),但是瀏覽器並不承認這些行的終止符。因此,爲了讓讀取的文本內容在瀏覽器裏顯示換行,就必須在讀取每一行的時候在後面加上HTML的標籤<br>。