下载并保存文件

public void downloadUpdateFile(String downloadUrl, String saveFile) throws Exception {

int bytesum = 0;
    int byteread = 0;
    URL url = new URL(downloadUrl);

try {
        URLConnection conn = url.openConnection();
        InputStream inStream = conn.getInputStream();
        File file = new File("/data/data/com.example.updatetest/files/"+saveFile);
        Runtime.getRuntime().exec("chmod 777 "+ file);
        FileOutputStream fs = new FileOutputStream(file);
        //getApplicationContext().openFileOutput(saveFile, getApplicationContext().MODE_APPEND);

byte[] buffer = new byte[1204];
        int length;
        while ((byteread = inStream.read(buffer)) != -1) {
            bytesum += byteread;
            System.out.println(bytesum);
            fs.write(buffer, 0, byteread);
        }
        installApk();
        
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();

}}

public void installApk(){
Intent i = new Intent(Intent.ACTION_VIEW); 
String filePath = "/data/data/com.example.updatetest/files/ModuleTest.apk"; 
i.setDataAndType(Uri.parse("file://" + filePath),"application/vnd.android.package-archive"); 
// i.setDataAndType(
// Uri.parse("file:///data/data/com.example.updatetest/files/yuehe.mpg"),
// "video/mp4");
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i); 
}

记得加上网络和读写的权限:

<uses-permission android:name="android.permission.INTERNET"/>  
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.GET_TASKS"/>

<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"/>

时间: 2024-08-04 15:54:16

下载并保存文件的相关文章

大开测试:性能- 如何下载并保存文件到本地(连载18)

7.18  如何下载并保存文件到本地 1.问题提出 如何下载并保存文件到本地? 2.问题解答 一个人事管理系统项目一般都要实现能够上传和下载电子文件(如学位照.身份证.护照或者其他Word.Excel.Pdf等格式的电子文件),测试时为了模拟下载的场景,需要编写相关脚本.在HTTP中,没有任何一个方法或是动作能够标识“下载文件”这个动作,对HTTP来说,无论是下载文件或者请求页面,都只是发出一个GET请求,LoadRunner记录了客户端发出的对文件的请求,并能够收到文件内容.因此,完全可以通过

MFC通过URL下载并保存文件代码 转载

http://blog.csdn.net/charlessimonyi/article/details/8666108?utm_source=tuicool&utm_medium=referral 我们知道,windows有关网络连接的API在wininet.h里,而在MFC里,这些API被封装成了类. CInternetSession类:直接继承自CObject类,该类用来建立与某个Internet服务器的会话 CInternetConnection类:帮助用户管理与Internet服务器的连

c# 下载并保存文件在程序目录

public void HttpDownloadFile(string url) { string strFileName = url.Substring(url.LastIndexOf("/")+1); // 设置参数 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; //发送请求并获取相应回应数据 HttpWebResponse response = request.GetResponse() as

[转] 三种Python下载url并保存文件的代码

原文 三种Python下载url并保存文件的代码 利用程序自己编写下载文件挺有意思的. Python中最流行的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib从ftp站点下载文件.此外Python还提供了另外一种方法requests. 来看看三种方法是如何来下载zip文件的: import urllib import urllib2 import requests url = 'http://www.blog.pythonlibrary.org/wp-c

采用struts2+hibernate实现保存文件到Oracle数据库&amp;&amp;并附下载代码【导入即可用】;数据库中保存blob类型的二进制文件

原文:采用struts2+hibernate实现保存文件到Oracle数据库&&并附下载代码[导入即可用]:数据库中保存blob类型的二进制文件 源代码下载地址:http://www.zuidaima.com/share/1550463402478592.htm

下载保存文件到手机本地前, 优先选择位置的一个取巧方法

现在的手机内存动辄内置了8G, 16G, 甚至32G的存储空间, 其实已经够用了. 当然如果手机支持插外置内存卡, 比如手机再插入个32G的内存卡. 那手机容量就大大增加了. 应用在下载保存文件时, 比如像UC浏览器那种, 它会询问诱导用户设置一个默认的保存路径. 一般我们会优先将文件保存在外置内存卡中(如果有的话) , 若没有外置存储的内存卡, 才把这些文件图片什么的 放到内置存储的空间去, 这样才能最大限度的不浪费手机内置的存储空间. 于是, 我就有了以下的一个取巧方法, 思路大概是这样的

php -- PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而不是通过浏览器直接打开下载的文件

之前做项目遇到这样一个问题,就是在php环境下,用a标签的href链接到一个资源,比如是mp3或者lrc文件时,点击之后不是出现保存文件的提示,而是调用本地程序打开文件或者直接在浏览器上解析.网上说可以全部做成rar格式的文件,这个一方面不方便,有些情况下也不可能完全这样做,还有实际上,做过测试会发现,在content-type:text/html的情况下,即时是rar有时也会被浏览器直接解析,无法实现下载的功能,那这个问题是不是就无解了呢?答案是否定的,几番搜索+测试,终于发现了一个可行的解决

UIwebview 文件的下载与保存,以及mp3文件的播放

http://blog.csdn.net/a6472953/article/details/7866033 [cpp] view plaincopy 这里只是说说异步 单线程下载与文件的保存 以下载一个mp3文件并保存为例: -(void)loading { //设置文件下载地址 NSString *urlString = [NSString stringWithFormat:@"http://zhangmenshiting2.baidu.com/data2/music/14893666/148

ftp下载指定日期文件(文件名中含日期)

网上查了很多,但是执行都各种错误,然后自己研究了半天,整了个能用的 要求:FTP文件名中含日期 步骤:将一下代码保存为BAT脚本,配置定时任务即可 @echo offrem 计算指定天数之前的日期set DaysAgo=1rem 假设系统日期的格式为yyyy-mm-ddcall :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDaysset /a PassDays-=%DaysAgo%call :DaysToDate %PassDays%