android 从网上下载文件
2012-09-20 11:04
176 查看
android中如何从网上下载文件源码
String FileName=null;
public void downFile(String url, String path, String fileName) throws IOException {
if (fileName == null || fileName == "")
this.FileName = url.substring(url.lastIndexOf("/") + 1);
else
this.FileName = fileName; // 取得文件名,如果输入新文件名,则使用新文件名
URL Url = new URL(url);
URLConnection conn = Url.openConnection();
conn.connect();
InputStream is = conn.getInputStream(); //得到网络相应的内容
this.fileSize = conn.getContentLength();// 根据响应获取文件大小
if (this.fileSize <= 0) { // 获取内容长度为0
throw new RuntimeException("无法获知文件大小 ");
}
if (is == null) { // 没有下载流
throw new RuntimeException("无法获取文件");
}
//String finema = Environment.getExternalStorageDirectory()+"/ww.jpg";
//Log.e("path",finema);
FileOutputStream FOS = new FileOutputStream(fileName); // 创建写入文件内存流,通过此流向目标写文件
byte buf[] = new byte[1024]; //开辟缓存,保存文件
int numread;
while ((numread = is.read(buf)) != -1) {
FOS.write(buf, 0, numread); //将文件逐 byte写入
}
try {
is.close();
} catch (Exception e) {
}
}
补充说明:1、path处,我最早是直接用的"/sdcard/",但是一直报错java.io.FileNotFoundException:....Read-Only File System,不知为什么。后改为path=Environment.getExternalStorageDirectory()+"/ww.jpg";成功 。
2、联网要在Mainfest中加权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission>
对SDCARD的操作:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
String FileName=null;
public void downFile(String url, String path, String fileName) throws IOException {
if (fileName == null || fileName == "")
this.FileName = url.substring(url.lastIndexOf("/") + 1);
else
this.FileName = fileName; // 取得文件名,如果输入新文件名,则使用新文件名
URL Url = new URL(url);
URLConnection conn = Url.openConnection();
conn.connect();
InputStream is = conn.getInputStream(); //得到网络相应的内容
this.fileSize = conn.getContentLength();// 根据响应获取文件大小
if (this.fileSize <= 0) { // 获取内容长度为0
throw new RuntimeException("无法获知文件大小 ");
}
if (is == null) { // 没有下载流
throw new RuntimeException("无法获取文件");
}
//String finema = Environment.getExternalStorageDirectory()+"/ww.jpg";
//Log.e("path",finema);
FileOutputStream FOS = new FileOutputStream(fileName); // 创建写入文件内存流,通过此流向目标写文件
byte buf[] = new byte[1024]; //开辟缓存,保存文件
int numread;
while ((numread = is.read(buf)) != -1) {
FOS.write(buf, 0, numread); //将文件逐 byte写入
}
try {
is.close();
} catch (Exception e) {
}
}
补充说明:1、path处,我最早是直接用的"/sdcard/",但是一直报错java.io.FileNotFoundException:....Read-Only File System,不知为什么。后改为path=Environment.getExternalStorageDirectory()+"/ww.jpg";成功 。
2、联网要在Mainfest中加权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission>
对SDCARD的操作:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
相关文章推荐
- Android从网上下载文件注意
- Android开发九:从网上下载文件并存储到SD卡中
- Android开发九:从网上下载文件并存储到SD卡中
- Android 网上下载图片 保存在文件中 更新listview
- vlc android编译 下载文件问题
- Android zip文件下载和解压
- scp - 远程传输文件命令,wget - 从网上下载文件命令
- Android 文件下载三种基本方式
- 【Android】DownloadManager 打开url下载的APK文件无法打开的问题 cannot open file
- Android下载文件,如何获取实际的文件名
- 深度分析:Android4.3下MMS发送到附件为音频文件(音频为系统内置音频)的彩信给自己,添加音频-发送彩信-接收彩信-下载音频附件-预览-播放(三,接收彩信<2,下载彩信>)
- 解决IE下载 apk/ipa 变成zip:Android 手机应用程序文件下载服务器 配置解决方法
- Android利用Http下载文件
- Android开发之WebView下载文件
- android 4.4 下载文件
- android 中使用ExpandableListView控件结合服务器json文件的下载
- Android项目实战(三十一):异步下载apk文件并安装(非静默安装)
- Android连接socket服务器上传下载多个文件
- Android多线程下载单个文件和断点续传
- android开发 更新下载apk部分机型文件写入失败(Permission denied)