用java程序如何实现下面的功能! 
注意 文件: <input type=file> 
<form action="http://127.0.0.1/mms_upload.asp" method="post" enctype="multipart/form-data">
账号: <input name=User value=""/><br/>
密码: <input name=Pass type="password" value=""/><br/>
文件: <input type=file name=file /><br/>
<input type=submit value="提交" />
</form>

解决方案 »

  1.   

    PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("xxx.xxx"))); 
    ServletInputStream in = request.getInputStream(); 
    int i = in.read(); 
    while (i != -1) { 
      pw.print((char) i); 
      i = in.read(); 

    pw.close();
    ...
      

  2.   

    request.setCharacterEncoding("gbk");
      RequestContext requestContext = new ServletRequestContext(request);
     
      if(FileUpload.isMultipartContent(requestContext)){
      
       DiskFileItemFactory factory = new DiskFileItemFactory();
       factory.setRepository(new File("c:/tmp/"));
       ServletFileUpload upload = new ServletFileUpload(factory);
       //upload.setHeaderEncoding("gbk");
       upload.setSizeMax(2000000);
       List items = new ArrayList();
        try {
         items = upload.parseRequest(request);
        } catch (FileUploadException e1) {
         System.out.println("文件上传发生错误" + e1.getMessage());
        }   Iterator it = items.iterator();
       while(it.hasNext()){
        FileItem fileItem = (FileItem) it.next();
        if(fileItem.isFormField()){     
         System.out.println(fileItem.getFieldName() + "   " + fileItem.getName() + "   " + new String(fileItem.getString().getBytes("iso8859-1"), "gbk"));
        }else{
         System.out.println(fileItem.getFieldName() + "   " +
            fileItem.getName() + "   " +
            fileItem.isInMemory() + "    " +
            fileItem.getContentType() + "   " +
            fileItem.getSize());
        
         if(fileItem.getName()!=null && fileItem.getSize()!=0){
          File fullFile = new File(fileItem.getName());
          File newFile = new File("c:/temp/" + fullFile.getName());
          try {
           fileItem.write(newFile);
          } catch (Exception e) {
           e.printStackTrace();
          }
         }else{
          System.out.println("文件没有选择 或 文件内容为空");
         }
        }
        
       }
      }
      

  3.   

    如和用java 程序实现 URLConnection socket
      

  4.   

    apache有现成的接口:
    http://jakarta.apache.org/httpcomponents/httpclient-3.x/