java中io流读写文件

此demo为jsp页面读取txt内容,下方的input框输入内容

    jsp内容:

<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.FileInputStream"%>
<%@page import="java.io.FileReader"%>
<%@page import="java.io.BufferedReader"%>
<%@page import="javax.servlet.jsp.tagext.TryCatchFinally"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body> 
  <%
    //读取文件
    //获取文件路径
    String filename="D:/Test/TestIo.txt";
  //创建读取结果的文本字符串
  String line="";
  //创建文本对象
    //创建bufferreader读取流对象,并将文本对象加入进去
    //第一种方式:BufferedReader  reader=new BufferedReader(new FileReader(filename));
    //但这种方式 filereader对象无法设置编码格式,所以在中文读取中,可能出现乱码,因此推荐第二种方式
    //第二种
    FileInputStream fs = new FileInputStream(filename);//创建路径
    InputStreamReader is = new InputStreamReader(fs,"UTF-8");//将文件内容打入输入流,如果utf-8读取中文失败,试一下GBK!!!很重要!!
    
    BufferedReader  reader=new BufferedReader(is);//获取输入流
   
    line=reader.readLine();//打印内容
    while(line!=null){
        out.print(line);
        System.out.print(line);
        out.print("<br/>");
        line=reader.readLine();
    }
    reader.close();
    
  %>
  <form action="add" method="post">
   <input type="text" name="wenben">
   <input type="submit" value="提交">
   </form>
    

</body>
</html>

Servlet处理输入流内容:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
//        因为中文无法打印
// 设置一下响应文本样式
        request.setCharacterEncoding("utf-8");
        doGet(request, response);
        String wenben=request.getParameter("wenben");
        System.out.println(wenben);
        //目标文件
        String filename="D:/11.txt";
        //创建文本对象
        //创建输入流,并将文本打入
        BufferedWriter writer=new BufferedWriter(new FileWriter(filename,true));//此处加个true。表示不覆盖原来数据
        //换行,另起一行
        writer.newLine();
        writer.write(wenben);
//        刷新缓冲区
        writer.flush();
//        关闭io流
        writer.close();
        response.sendRedirect("index.jsp");
    }

 

servlet直只截取核心dopost

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值