下载文件载入sd
来源:互联网 发布:h5麻将源码 编辑:程序博客网 时间:2024/04/30 00:38
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><Button android:id="@+id/downloadTxt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="下载文本文件" /><Button android:id="@+id/downloadMp3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="下载MP3文件" /></LinearLayout>
?
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.learning.example" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Download" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /><!-- 访问网络和操作SD卡 加入的两个权限配置--><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/></manifest>
?
package com.learning.example.util;import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public class HttpDownloader {private URL url = null; /** * 根据URL下载文件,前提是这个文件当中的内容是文本,函数的返回值就是文本当中的内容 * 1.创建一个URL对象 * 2.通过URL对象,创建一个HttpURLConnection对象 * 3.得到InputStream * 4.从InputStream当中读取数据 * @param urlStr * @return */public String download(String urlStr){StringBuffer sb = new StringBuffer();String line = null;BufferedReader buffer = null;try {url = new URL(urlStr);HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();buffer = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));while( (line = buffer.readLine()) != null){sb.append(line);}} catch (Exception e) {e.printStackTrace();}finally{try {buffer.close();} catch (IOException e) {e.printStackTrace();}}return sb.toString();}/** * * @param urlStr * @param path * @param fileName * @return * -1:文件下载出错 * 0:文件下载成功 * 1:文件已经存在 */public int downFile(String urlStr, String path, String fileName){InputStream inputStream = null;try {FileUtils fileUtils = new FileUtils();if(fileUtils.isFileExist(path + fileName)){return 1;} else {inputStream = getInputStreamFromURL(urlStr);File resultFile = fileUtils.write2SDFromInput(path, fileName, inputStream);if(resultFile == null){return -1;}}} catch (Exception e) {e.printStackTrace();return -1;}finally{try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}return 0;}/** * 根据URL得到输入流 * @param urlStr * @return */public InputStream getInputStreamFromURL(String urlStr) {HttpURLConnection urlConn = null;InputStream inputStream = null;try {url = new URL(urlStr);urlConn = (HttpURLConnection)url.openConnection();inputStream = urlConn.getInputStream();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return inputStream;}}
?
package com.learning.example.util;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import android.os.Environment;public class FileUtils {private String SDPATH;private int FILESIZE = 4 * 1024; public String getSDPATH(){return SDPATH;}public FileUtils(){//得到当前外部存储设备的目录( /SDCARD )SDPATH = Environment.getExternalStorageDirectory() + "/";}/** * 在SD卡上创建文件 * @param fileName * @return * @throws IOException */public File createSDFile(String fileName) throws IOException{File file = new File(SDPATH + fileName);file.createNewFile();return file;}/** * 在SD卡上创建目录 * @param dirName * @return */public File createSDDir(String dirName){File dir = new File(SDPATH + dirName);dir.mkdir();return dir;}/** * 判断SD卡上的文件夹是否存在 * @param fileName * @return */public boolean isFileExist(String fileName){File file = new File(SDPATH + fileName);return file.exists();}/** * 将一个InputStream里面的数据写入到SD卡中 * @param path * @param fileName * @param input * @return */public File write2SDFromInput(String path,String fileName,InputStream input){File file = null;OutputStream output = null;try {createSDDir(path);file = createSDFile(path + fileName);output = new FileOutputStream(file);byte[] buffer = new byte[FILESIZE];while((input.read(buffer)) != -1){output.write(buffer);}output.flush();} catch (Exception e) {e.printStackTrace();}finally{try {output.close();} catch (IOException e) {e.printStackTrace();}}return file;}}
?
package com.learning.example;import com.learning.example.util.HttpDownloader;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class Download extends Activity {private Button downlaodTxtButton ;private Button downlaodMP3Button ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); downlaodTxtButton = (Button)findViewById(R.id.downloadTxt); downlaodTxtButton.setOnClickListener(new DownloadTxtListener()); downlaodMP3Button = (Button)findViewById(R.id.downloadMp3); downlaodMP3Button.setOnClickListener(new DownloadMP3Listener()); } class DownloadTxtListener implements OnClickListener{@Overridepublic void onClick(View v) {HttpDownloader downloader = new HttpDownloader();String lrc = downloader.download("http://172.16.11.9:8080/test/1.lrc");System.out.println(lrc);} } class DownloadMP3Listener implements OnClickListener{@Overridepublic void onClick(View v) {HttpDownloader downloader = new HttpDownloader();int result = downloader.downFile("http://172.16.11.9:8080/test/1.mp3", "voa/", "1.map3");System.out.println(result);} }}
- 下载文件载入sd
- 下载到SD卡文件
- 下载图片(文件)到SD文件
- 文件下载并保存至SD卡
- android学习-下载文件到SD卡
- Android 下载文件及写入SD卡
- Android 下载文件及写入SD卡
- Android 下载文件及写入SD卡
- android下载文件,写入SD卡等
- Android:文件下载和写入SD卡
- Android:文件下载和写入SD卡
- Android:文件下载和写入SD卡学习小结
- android 文件下载与SD卡之间的关系
- Android 从服务器下载文件保存到sd卡
- Android:文件下载和写入SD卡学习小结
- Android下载文件到sd card的一些常见问题
- Android:文件下载和写入SD卡学习小结
- Android:文件下载和写入SD卡学习小结
- Proactive or reactive way you’d like to take if you are allow to choosed.
- linux命令ubuntu 重启网络服务而不需重启
- busybox编译错误
- 注册表处理之(监控注册表的通用结构)
- linux设备驱动中常用函数及其出处
- 下载文件载入sd
- Android内存管理-SoftReference的使用来解决内存不至于快速回收
- 【转】总结一下String(Java)
- SharePoint CAML 通过SPUser.ID查询用户资料
- 四个类型的字符串返回值操作性能比较
- 如何删除onekey ghost创建的目录
- 硬件设备的监控处理之一——(串口的禁用和启用)
- 在dll中delphi中封装窗体(实例)
- scala List和Tuple的用法