Android Http下載文件到手機(jī)內(nèi)存與SDCard
作者:佚名
Android 訪問Http下載文件到本地一共分兩步,使用gettextfilestring(String url)獲取文本文件內(nèi)容和分別下載到內(nèi)存和SDCard。
訪問Internet和保存文件到SDCard上,首先要在mainifest.xml文件中加上下面的權(quán)限。
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
gettextfilestring(String url)獲取文本文件內(nèi):
- public String gettextfilestring(String url){
- InputStream input =getinputStream(url);
- StringBuffer sb = new StringBuffer("");
- BufferedReader bfr = new BufferedReader(new InputStreamReader(input));
- String line = "";
- try {
- while((line=bfr.readLine())!=null){
- sb.append(line);
- }
- } catch (IOException e) {
- toasterror("流文件讀寫錯(cuò)誤");
- e.printStackTrace();
- }finally{
- try {
- bfr.close();
- } catch (IOException e) {
- toasterror("流文件未能正常關(guān)閉");
- e.printStackTrace();
- }
- }
- return sb.toString();
- }
downFiletoDecive(String url,String filename)方法下載文件到設(shè)備內(nèi)存,下載的文件在應(yīng)用的路徑file下:
- public void downFiletoDecive(String url,String filename){
- if((url!=null&&!"".equals(url))&&(filename!=null&&!"".equals(filename))){
- InputStream input = getinputStream(url);
- FileOutputStream outStream = null;
- try {
- outStream = c.openFileOutput(filename, Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE);
- int temp = 0;
- byte[] data = new byte[1024];
- while((temp = input.read(data))!=-1){
- outStream.write(data, 0, temp);
- }
- } catch (FileNotFoundException e) {
- toasterror("請(qǐng)傳入正確的上下文");
- e.printStackTrace();
- } catch (IOException e) {
- toastemessage("讀寫錯(cuò)誤");
- e.printStackTrace();
- }finally{
- try {
- outStream.flush();
- outStream.close();
- } catch (IOException e) {
- toasterror("流文件未能正常關(guān)閉");
- e.printStackTrace();
- }
- }
- }
- toastemessage("下載成功");
- }
downFiletoSDCard(String url,String path,String filename)下載文件到SDCard中,自定義保存路:
- public void downFiletoSDCard(String url,String path,String filename){
- if((url!=null&&!"".equals(url))&&(path!=null)&&(filename!=null&&!"".equals(filename))){
- InputStream input = getinputStream(url);
- downloader(input, path, filename);
- }else{
- /*
- * 對(duì)不合發(fā)的參數(shù)做處理
- */
- if(url==null||"".equals(url)){
- toasterror("url不能為空或?yàn)?ldquo;”");
- }
- if(path==null){
- toasterror("path不能為空");
- }
- if(filename==null||"".equals(filename)){
- toasterror("filename不能為空");
- }
- }
- }
責(zé)任編輯:徐川
來(lái)源:
OSChina