初学JSP,所以只是很简单的两个例子。现在有new.txt,内容如下:
绝 句
杜甫
两个黄鹂鸣翠柳,一行白鹭上青天;
窗含西岭千秋雪,门泊东吴万里船。
,现在,我们来读取这个文件的内容。
第一个文件(fileReaderExample1.jsp):
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*"%>
<HTML>
<head>
<title>读文件应用示例</title>
</head>
<BODY>
<%
FileReader f=new FileReader(application.getRealPath("/")+"new.txt");
BufferedReader buffer1=new BufferedReader(f);
String tempString=null;
while((tempString=buffer1.readLine())!=null)
{
out.println("<br>"+tempString);
}
buffer1.close();
f.close();
%>
</html>
读取的结果如下:
绝 句
杜甫
两个黄鹂鸣翠柳,一行白鹭上青天;
窗含西岭千秋雪,门泊东吴万里船。
注意:这里,他并没有读取这首诗的标题和作者前面的空格。
第二个文件(fileReaderExample.jsp):
<%@ page contentType="text/html;charset=gb2312"%>
<%
//变量声明\
java.lang.String strFileName; //文件名
java.io.File objFile; //文件对象
java.io.FileReader objFileReader; //读文件对象
char[] chrBuffer = new char[10]; //缓冲
int intLength; //实际读出的字符数(一个中文为一个字符)
//设置待读文件名
strFileName =application.getRealPath("/")+"new.txt";
//创建文件对象
objFile = new java.io.File(strFileName);
//判断文件是否存在
if(objFile.exists()){//文件存在
//创建读文件对象
objFileReader = new java.io.FileReader(objFile);
//读文件内容
while((intLength=objFileReader.read(chrBuffer))!=-1){
//输出
out.write(chrBuffer,0,intLength);
}
//关闭读文件对象
objFileReader.close();
}
else{//文件不存在
out.println("下列文件不存在:"+strFileName);
}
%>
读取的结果如下:
绝 句 杜甫两个黄鹂鸣翠柳,一行白鹭上青天;窗含西岭千秋雪,门泊东吴万里船。
注意,这个除了没有输出前面的空格,连换行符也没有输出
以上两种方式都不是很理想,不知道读取文件的时候,每一行的开头空格,为什么没有输出呢?
评论