Servlet 上传页面文本

来源:互联网 发布:mac系统隐藏文件夹 编辑:程序博客网 时间:2024/05/22 06:08

读取过程:

  • 硬盘文件项工厂
  • servlet文件上传工具
  • 文件项迭代器
  • 文件项流
  • 输入流
  • 缓存数组
  • 用数组读取信息
  • 用map将文本的来源和 文本内容进行拼接

存在的问题

中间输入的时候 出现了乱码的问题,没有得到解决。。

代码

package Servlet;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.util.HashMap;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItemIterator;import org.apache.commons.fileupload.FileItemStream;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;/** * Servlet implementation class ServletDemo */public class ServletDemo extends HttpServlet {    private static final long serialVersionUID = 1L;    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        Map<String, String> map = new HashMap<String, String>();        try {            DiskFileItemFactory factory = new DiskFileItemFactory();            ServletFileUpload upload = new ServletFileUpload(factory);            FileItemIterator itemIterator = upload.getItemIterator(request);            while(itemIterator.hasNext()){                request.setCharacterEncoding("utf-8");                FileItemStream itStream = itemIterator.next();                InputStream inputStream = itStream.openStream();                BufferedReader bd = new BufferedReader(new InputStreamReader(inputStream));                String infoString = bd.readLine();                if(map.containsKey(itStream.getFieldName())){                    String old = map.get(itStream.getFieldName());                    map.put(itStream.getFieldName(), old + "-" + infoString);                }else {                    map.put(itStream.getFieldName(), infoString);                }            }            for (Map.Entry<String, String>  entry : map.entrySet()) {                //出现 乱码问题 , 没有得到解决                System.out.println(entry.getKey() + "   " + entry.getValue());            }        } catch (FileUploadException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}
0 0
原创粉丝点击