zoukankan      html  css  js  c++  java
  • JSP操作文件

    JSP操作文件包括读取文件内容和往文件写入内容;

    一、读取文件有两种方式:一种通过ServletContext读取;一种直接使用java.io.FileReader

    1、使用ServletContext——只能获取Servlet上下文的资源,如:

    <%@page contentType="text/html;cahrset=gb2312" import="java.io.*"%>
    <%
    try{
     InputStreamt in=getServletContext().getResourceAsStream("/file.txt");
     String file = "";
     int temp=0;
    while((temp=in.read()!=-1)){
     file+=(char)temp;
    }
    in.close();
    out.flush();
    }catch(Exception e){
     e.printStackTrace();
    }
    %>

    上述方法的path参数必须以“/”开头;在读取后需要对字符进行编码,否则出现乱码;由于没有使用缓冲的输入流,效率比较低。
    下面使用缓冲输入流:

    <%@page contentType="text/html;cahrset=gb2312" import="java.io.*"%>
    <%
    try{
     InputStreamt in=getServletContext().getResourceAsStream("/file.txt");
     String file = "";
     String temp=0;
    
     BufferedReader buffer = new BufferedReader(new InputStreamReader(new BufferedInputStream(in)));
    while((temp=buffer.readLine()!=null)){
     file+=temp;
    }
    buffer.close();
    in.close();
    out.flush();
    }catch(Exception e){
     e.printStackTrace();
    }
    %>

    2、使用FileReader——读取任意路径的文件

    <%@page contentType="text/html;cahrset=gb2312" import="java.io.*"%>
    <%
    try{
     BufferedReader in= new BufferedReader (new FileReader("c:\\UserSession.java"));
     String file = "";
     String temp=0;
    
    while((temp=in.readLine()!=null)){
     file+=temp;
    }
    in.close();
    out.flush();
    }catch(Exception e){
     e.printStackTrace();
    }
    %>

     二、写入内容到文件

    通过FileWrite对象或者FileOupStream。如:

    <%@page contentType="text/html;cahrset=gb2312" import="java.io.*"%>
    <html>
    <body>
    <%
    request.setCharaterEncoding("gb2312");
    String content = request.getParameter("content");
    %>
    <%
    try{
     PrintWrite out = new PrintWrite (new BufferedWrite(new FileWrite("c:\\UserSession.java")));
     write.write(content);
    write.close();
    }catch(Exception e){
     e.printStackTrace();
    }
    %>
    <form action="writeFile.jsp" method=post>
    <textarea name=content cols=20 rows=5></textarea><br>
    <input type=submit value= submit>
    </form>
    </body>
    </html>

    这里每次写入内容都将删除原有内容,要保存原有内容只要修改:BufferedWrite(new FileWrite("c:\\UserSession.java",true))

  • 相关阅读:
    python入门1
    查找字段 和查找组件
    DBGRID 拖动滚动条 和 鼠标滚轮的问题
    数据集 过滤时 RecordCount 属性
    查找字段 如何 过滤
    数据集控件 放在 数据模块 上后,如何写事件代码
    取TTable 过滤后的记录数
    判断 Windows操作系统是32位还是64位
    MatchText MatchStr 区别
    EClassNotFound
  • 原文地址:https://www.cnblogs.com/zhangchunxi/p/3019729.html
Copyright © 2011-2022 走看看