編輯:關於Android編程
本文繼續講解andriod網絡方面問題。本文主要在Eclipse上搭建服務器端。
同上篇,本文tomcat版本7.0,servlet 3.0不需要在web.xml下注冊xml文件。
本文實現的內容較簡單,在服務器在磁盤上讀取一個pdf(其他文件也行),返回一個流文件給客戶端。
服務器端的代碼如下:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//String pathString=F:\作業\基於ARM11的嵌入式系統開發方法.docx;
//要下載的文件路徑,本文為絕對路徑
String pathString=D:\我的文檔\桌面\新建文件夾 (3)\新概念3\舊版新概念英語第三冊課文.pdf;
InputStream inputStream=null;
OutputStream outputStream=null;
File file=new File(pathString);
inputStream=new BufferedInputStream(new FileInputStream(file));
//設置為流下載
response.setContentType(application/octet-sream);
//設置響應大小
response.setContentLength((int) file.length());
response.setHeader(Content-type, text/html;charset=UTF-8);
//這句話的意思,是告訴servlet用UTF-8轉碼,而不是用默認的ISO8859
response.setCharacterEncoding(UTF-8);
String fileName=file.getName();
//浏覽器下載
response.addHeader(Content-Disposition, attachment;filename=+ new String( fileName.getBytes(gb2312), ISO8859-1 ));
outputStream=new BufferedOutputStream(response.getOutputStream());
// 緩沖區大小1024
byte[] s=new byte[10240];
int len=0;
//避免最後一次讀取數據時,不滿10240b的數據被填充,造成數據不准確性
while((len=inputStream.read(s))!=-1)
{
outputStream.write(s, 0, len);
}
if (inputStream!=null) {
inputStream.close();
}
response.flushBuffer();
if (outputStream!=null) {
outputStream.close();
}
}
Android TV開發總結(一)構建一個TV app前要知道的事兒
前言:近年來,智能電視的發展如火如荼,Googel 也在大力推進TV及穿帶設備的發展,在互聯網的風口,是豬也會飛,這句話並不是沒有道理的。傳統電視機廠商,基本都轉型致力於
Android編程實現調用系統分享功能示例
本文實例講述了Android編程實現調用系統分享功能。分享給大家供大家參考,具體如下:/** * 調用系統的分享功能 * Created by admin on 15-4
深入剖析Android音頻之AudioTrack
播放聲音可以用MediaPlayer和AudioTrack,兩者都提供了java API供應用開發者使用。雖然都可以播放聲音,但兩者還是有很大的區別的。其中最大的區別是M
Android學習筆記(十四)——在運行時添加碎片(附源碼)
在運行時添加碎片 點擊獲取源碼 將UI分割為多個可配置的部分是碎片的優勢之一,但其真正強大之處在於可在運行時動態地把它們添加到活動中。 1、使用上一篇創建的F