1. 程式人生 > >Java 匯出txt檔案

Java 匯出txt檔案

例子一

/**
	 * export匯出檔案
	 */
	@RequestMapping(value="/grab/export/csv",method={RequestMethod.GET})
	public void exportCsv(HttpServletRequest request,HttpServletResponse response){
		String userId = ServletRequestUtils.getStringParameter(request, "userId", "test");
		ModelAndView mav=new ModelAndView();
		SqlVideoList sqlVideoList =new SqlVideoList();
		List<VideoListModel> list = new ArrayList<VideoListModel>();
		try {
			list = sqlVideoList.selectSuccessDate(userId);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
        //匯出txt檔案
        response.setContentType("text/plain");   
        String fileName="videolist";
		try {
			fileName = URLEncoder.encode("videolist", "UTF-8");
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}    
        response.setHeader("Content-Disposition","attachment; filename=" + fileName + ".txt");    
        BufferedOutputStream buff = null;       
        StringBuffer write = new StringBuffer();       
        String enter = "\r\n";       
        ServletOutputStream outSTr = null;       
        try {       
             outSTr = response.getOutputStream();  // 建立       
             buff = new BufferedOutputStream(outSTr);
	     		//把內容寫入檔案
	     		if(list.size()>0){
	     			for (int i = 0; i < list.size(); i++) {  
	     				write.append(list.get(i).getUrl()+",");  
	     				write.append(list.get(i).getTitle());  
	     				write.append(enter);          
	     			} 
	     		}
             buff.write(write.toString().getBytes("UTF-8"));       
             buff.flush();       
             buff.close();       
        } catch (Exception e) {       
            e.printStackTrace();       
        } finally {       
            try {       
                buff.close();       
                outSTr.close();       
            } catch (Exception e) {       
                e.printStackTrace();       
           }       
       } 
       
	}

例子二:

    /**
     * 匯出VIP兌換碼。
     * @throws UnsupportedEncodingException 
     */
    @RequestMapping(value = "/{exchangeId}/{packageId}/export", method = RequestMethod.GET)
    public void writeToTxt(@PathVariable String exchangeId,@PathVariable String packageId, HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException {  
        String schoolId = this.getSchoolId(request); // 網校ID
        // 獲取網校的VIP套餐相應的兌換碼
        VipCodeExample example=new VipCodeExample();
        example.createCriteria().andSchoolIdEqualTo(schoolId).andPackageIdEqualTo(packageId).andExchangeIdEqualTo(exchangeId);
        List<VipCode> vipCodes = vipExchangeManager.getVipCode(example);
       
        
        if(vipCodes.size()>0){
                response.setContentType("text/plain");// 一下兩行關鍵的設定  
                response.addHeader("Content-Disposition",  
                        "attachment;filename="+java.net.URLEncoder.encode(vipCodes.get(0).getName(),"UTF-8")+".txt");// filename指定預設的名字 
                
                VipCode vipcode=new VipCode();
                BufferedOutputStream buff = null;  
                StringBuffer write = new StringBuffer();  
                String tab = "      ";  
                String enter = "\r\n";  
                ServletOutputStream outSTr = null;  
                try {  
                    outSTr = response.getOutputStream();// 建立  
                    buff = new BufferedOutputStream(outSTr);  
                    for (int i = 0; i < vipCodes.size(); i++) {  
                        vipcode =  vipCodes.get(i);  
                        write.append(i+1); //序號 
                        write.append(tab);
                        write.append(vipcode.getExchangeCode()); 
                        write.append(tab);
                        if("normal".equals(vipcode.getStatus())){
                            write.append("正常");          
                        }else{
                            write.append("已兌換");          
                        }
                        write.append(enter);
                    }  
                    buff.write(write.toString().getBytes("UTF-8"));  
                    buff.flush();  
                    buff.close();  
                } catch (Exception e) {  
                    e.printStackTrace();  
                } finally {  
                    try {  
                        buff.close();  
                        outSTr.close();  
                    } catch (Exception e) {  
                        e.printStackTrace();  
                    }  
                }  
         }
  
    }