我写了一个Servlet。请求端给我发送的是一个xml文件流,我怎么从request中,读取这个文件流呢?
解析xml的已经写好了,我现在就不知道怎么把文件留读取出来。

解决方案 »

  1.   

    解析xml的已经写好了----你的这个解析程序是对 a.xml这样的一个文件进行解析
    还是对一个流进行解析?
    如果文件的话,请求端负责发送,你就在servlet里 用response.getOutputstream 然后写到一个文件中 在对文件解析就是了 
    如果对文件流  解析,也是response.getOutputstream 然后把这个流对象传给你的解析程序就是了
      

  2.   

    好象 response get的是inputstream是吧  搞错了 不好意思
      

  3.   

    DataInputStream dataInput = new DataInputStream(request.getInputStream());
    int formDataLength = request.getContentLength();
    byte dataBytes[] = new byte[formDataLength]; 
    //read file into byte array 
    int bytesRead = 0; 
    int totalBytesRead = 0; 

    while (totalBytesRead < formDataLength) { 
        bytesRead = dataInput.read(dataBytes, totalBytesRead, formDataLength); 
        totalBytesRead += bytesRead; 
    } 最后的结果保存到dataBytes里,但是这不是文件, 而是另外包含了一些信息的东西, 分析一下这个数组,然后把文件内容取出来就可以了.
      

  4.   

    请求端是上传的XML文件?用org.apache.commons.fileupload.FileUpload组件好了;
    请求端已经将XML文件写入流了?那用楼上兄弟的方法吧。