J技术跟踪

记录在程序开发中使用过的技术心得及常用的技巧;
数据加载中……
Servlet中处理下载XML

 response.setContentType("text/xml;charset=GB2312");//设置请求内容类型

//读取XML文件流并将流输出到客户端
 private void readXmlFile(HttpServletResponse response, String fPath) throws FileNotFoundException, IOException {
  File rXmlFile = new File(fPath);
     FileInputStream inFile=new FileInputStream(rXmlFile);
     int  i  =  inFile.available();
     ServletOutputStream out=response.getOutputStream(); 
     byte[] data  =  new byte[i]; 
      inFile.read(data);  //  读数据本地XML流 
      inFile.close();
      inFile = null;
      out.write(data);  //  输出数据到客户端 
      out.flush();
      out.close(); 
      out =null;
 }
//直接输出XML格式内容

 private void printErrMsg(HttpServletResponse response, String errMsg) {    
  try {
   PrintWriter out = response.getWriter();
     out.println("<?xml version=\"1.0\" encoding=\"GB2312\" ?>");
     out.println("<err_info>");
     out.println(errMsg);
     out.println("</err_info>");
     out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }  
  
 }

//读目录下的文件
 File directory = new File(filePath);//存放中心上传的配置文件目录,文件名如:0050101_200910_0001.xml
     File[] files = directory.listFiles();
        for (int i = 0; i < files.length; i++) {
         String fName=files[i].getName();
         fName=fName.replaceAll(xml, "");
         if(fName.startsWith(jgbmYYYYMM)){
         fName=fName.replaceAll(jgbmYYYYMM, "");
         int fNum=Integer.parseInt(fName); //文件列表自增码
         if(iCkdh<fNum){
           fSize++;
           sbf.append("<item>"+files[i].getName().replaceAll(xml, "")+"</item>");
           fPath=files[i].getAbsolutePath();
          }
         }         
        }

posted on 2009-11-17 10:24 J_sp-404 阅读(744) 评论(0)  编辑  收藏 所属分类: Java技术


只有注册用户登录后才能发表评论。


网站导航: