由于遇到一个特殊情况,因此有此方面的需求。
使用Servlet进行相关处理及配置方面的细节均不做详细说明。
在Servlet中的处理代码如下:String filename="E:\\index.jsp";FileInputStream fis = new FileInputStream(filename);
InputStreamReader Inputreader = new InputStreamReader(fis,"utf-8"); //我的编码是utf-8
BufferedReader br = new BufferedReader(Inputreader);String temp=br.readLine();
StringBuffer data=new StringBuffer();
while( temp!=null){
data.append(temp); //接着读下一行
temp=br.readLine();
}
System.out.println(data); //此时发现data输出的内容完全把index.jsp的内容打乱了。
PrintWriter out=resp.getWriter();
out.println(data.toString());
out.flush();
out.close();
还有一个问题,发现data的内容字节数总是比原文件要少一些。导致输出到前台的时候发现会有问题。因为在下希望将原有的index.jsp内容保存完整,并在处理请求时在原文件内容中的<head>元素中插入一些<meta>信息。
但现在没插入都会少内容。请问如何解决此问题?
PS:
index.jsp中有java代码也有js代码等。
使用Servlet进行相关处理及配置方面的细节均不做详细说明。
在Servlet中的处理代码如下:String filename="E:\\index.jsp";FileInputStream fis = new FileInputStream(filename);
InputStreamReader Inputreader = new InputStreamReader(fis,"utf-8"); //我的编码是utf-8
BufferedReader br = new BufferedReader(Inputreader);String temp=br.readLine();
StringBuffer data=new StringBuffer();
while( temp!=null){
data.append(temp); //接着读下一行
temp=br.readLine();
}
System.out.println(data); //此时发现data输出的内容完全把index.jsp的内容打乱了。
PrintWriter out=resp.getWriter();
out.println(data.toString());
out.flush();
out.close();
还有一个问题,发现data的内容字节数总是比原文件要少一些。导致输出到前台的时候发现会有问题。因为在下希望将原有的index.jsp内容保存完整,并在处理请求时在原文件内容中的<head>元素中插入一些<meta>信息。
但现在没插入都会少内容。请问如何解决此问题?
PS:
index.jsp中有java代码也有js代码等。
data.append(temp); //接着读下一行 加一个换行符就行了:data.append(temp+"\n"); //接着读下一行
如果大家有效率更高的,希望赐教。因为index.jsp中的内容可能会比较多。
StringBuffer data=new StringBuffer();
while( temp!=null){
data.append(temp); //接着读下一行
temp=br.readLine();
}
System.out.println(data); //此时发现data输出的内容完全把index.jsp的内容打乱了。少了回车:
while( temp!=null){
data.append(temp).append("\n"); //接着读下一行
temp=br.readLine();
}
转http://www.99cpa.com/50330.html
但到客户端看到的仍是jsp代码,而不是二次解析后的html代码。
URL的话会出现:文件找不到异常!(文件名、目录名或卷标语法不正确。)