📄 readfilebyline.jsp
字号:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import ="java.io.*" %>
<%! //对字符串进行回压流处理的方法:
public String getString(String content)
{
try{
StringReader in=new StringReader(content) ;//指向字符串的字符流。
PushbackReader push=new PushbackReader(in); //回压流
StringBuffer stringbuffer=new StringBuffer(); //缓冲字符串对象。
int c;
char b[]=new char[1];
while ( (c=push.read(b,0,1))!=-1)//读取1个字符放入字符数组b。
{
String s=new String(b);
if(s.equals("<")) //回压的条件
{
push.unread('&');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('L');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('T');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
}
else if(s.equals(">")) //回压的条件
{
push.unread('&');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('G');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('T');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
}
else if(s.equals("\n"))
{
stringbuffer.append("<BR>");
}
else
{
stringbuffer.append(s);
}
}
push.close();
in.close();
return new String(stringbuffer); //返回处理后的字符串。
}
catch(IOException e)
{
return content=new String("不能读取内容");
}
}
%>
<%
String s=request.getParameter("g"); //获取客户提交的信息(是否重新读取文件)
if(s==null)
{s=""; }
byte b[]=s.getBytes("ISO-8859-1");
s=new String(b);
File f=null;
FileReader in=null;
BufferedReader buffer=null;
if(s.equals("重新读取文件")) //当请求重头读取文件时,建立和文件的输入流连接。
{
f=new File("f:/8000","Example.java");
in=new FileReader(f);
buffer=new BufferedReader(in);
session.setAttribute("file",f);
session.setAttribute("in",in);
session.setAttribute("buffer",buffer);
}
//将上述对象保存到用户的session 对象中:
try{
String str=null; int i=1;
f=(File)session.getAttribute("file");
in=(FileReader)session.getAttribute("in");
buffer=(BufferedReader)session.getAttribute("buffer");
while( ((i<=5)&&(str=buffer.readLine())!=null))
{ //为了能显示原始的HTML文件或JSP文件需使用回压流技术。
str=getString(str);
out.print("<Font size=2><BR>"+str+"</Font>");
i++;
}
}
catch(Exception e)
{
out.print("读取出现问题,请单击重新读取按钮"+e);
}
%>
<%String code=response.encodeURL("readFileByLine.jsp");
%>
<HTML>
<BODY>
<P><BR>点击按钮读取下5行:
<FORM action="<%=code%>" method="post" name=form>
<Input type=submit value="读取文件的下5行">
</FORM>
<P><BR>点击按钮读重新读取文件:
<FORM action="" method="post" name=form>
<Input type=submit name="g" value="重新读取文件">
</FORM>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -