安卓下载保存到本地(二)
来源:互联网 发布:UNetbootin ubuntu 编辑:程序博客网 时间:2024/06/11 14:09
/*
* 该函数返回整形-1:代表下载文件出错。
* 0:代表下载文件成功
* 1:代表下载文件经存在
*/
public int downLoadFile(String urlStr,String path,String fileName){
InputStream inputStream=null;
URL url;
GoToSDCard gotoSDCard=new GoToSDCard();
if(gotoSDCard.isFileExist(path+fileName)){
return 1;
}else{
try {
url=new URL(urlStr);
HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
inputStream=urlConn.getInputStream();
File resultFile=gotoSDCard.write2SDFromInput(path, fileName,inputStream);//将数据流保存到SD卡当中
if(resultFile==null){
return -1;
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
}
return 0;
}
public class GoToSDCard {
private String SDPATH=null;
public String getSDPATH(){
return SDPATH;
}
public GoToSDCard(){
//得到当前外部存储设备的目录
// SDCARD
SDPATH=Environment.getExternalStorageDirectory()+"/";
System.out.println("SDPATH="+SDPATH);
}
/*
*在SD卡上创建文件
*/
public File CreatSDFile(String fileNmae){
File file =new File(SDPATH+fileNmae);
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return file;
}
/*
* 在SD卡上创建目录
*/
public File creatSDDir(String dirName){
File dir=new File(SDPATH+dirName);
if(!dir.exists()){
dir.mkdirs();
}
return dir;
}
/*
*判断SD卡上的文件夹是否存在
*/
public boolean isFileExist(String fileName){
File file =new File(SDPATH+fileName);
return file.exists();
}
/*
*将一个InputSteam里面的数据写入到SD卡中
*/
public File write2SDFromInput(String path,String fileName,InputStream input){
System.out.println("path="+path+";fileName="+fileName+";");
File file =null;
File folder=null;
OutputStream output=null;
try {
folder=creatSDDir(path);
System.out.println("folder="+folder);
file=CreatSDFile(path+fileName);
System.out.println("file="+file);
output=new FileOutputStream(file);
byte buffer[]=new byte[4*1024];
while((input.read())!=-1){
output.write(buffer);
}
output.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
output.close();
}catch(Exception e){
e.printStackTrace();
}
}
return file;
}
}
* 该函数返回整形-1:代表下载文件出错。
* 0:代表下载文件成功
* 1:代表下载文件经存在
*/
public int downLoadFile(String urlStr,String path,String fileName){
InputStream inputStream=null;
URL url;
GoToSDCard gotoSDCard=new GoToSDCard();
if(gotoSDCard.isFileExist(path+fileName)){
return 1;
}else{
try {
url=new URL(urlStr);
HttpURLConnection urlConn=(HttpURLConnection)url.openConnection();
inputStream=urlConn.getInputStream();
File resultFile=gotoSDCard.write2SDFromInput(path, fileName,inputStream);//将数据流保存到SD卡当中
if(resultFile==null){
return -1;
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
}
return 0;
}
public class GoToSDCard {
private String SDPATH=null;
public String getSDPATH(){
return SDPATH;
}
public GoToSDCard(){
//得到当前外部存储设备的目录
// SDCARD
SDPATH=Environment.getExternalStorageDirectory()+"/";
System.out.println("SDPATH="+SDPATH);
}
/*
*在SD卡上创建文件
*/
public File CreatSDFile(String fileNmae){
File file =new File(SDPATH+fileNmae);
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return file;
}
/*
* 在SD卡上创建目录
*/
public File creatSDDir(String dirName){
File dir=new File(SDPATH+dirName);
if(!dir.exists()){
dir.mkdirs();
}
return dir;
}
/*
*判断SD卡上的文件夹是否存在
*/
public boolean isFileExist(String fileName){
File file =new File(SDPATH+fileName);
return file.exists();
}
/*
*将一个InputSteam里面的数据写入到SD卡中
*/
public File write2SDFromInput(String path,String fileName,InputStream input){
System.out.println("path="+path+";fileName="+fileName+";");
File file =null;
File folder=null;
OutputStream output=null;
try {
folder=creatSDDir(path);
System.out.println("folder="+folder);
file=CreatSDFile(path+fileName);
System.out.println("file="+file);
output=new FileOutputStream(file);
byte buffer[]=new byte[4*1024];
while((input.read())!=-1){
output.write(buffer);
}
output.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
output.close();
}catch(Exception e){
e.printStackTrace();
}
}
return file;
}
}
0 0
- 安卓下载保存到本地(二)
- 安卓下载保存到本地(一)
- 安卓网上下载 到本地保存 使用框架Retrofit
- Android安卓根据地址下载文件并保存到本地(HttpDownload)
- 下载视频文件保存到本地
- php 下载保存文件保存到本地
- 安卓调用系统摄像头拍照并保存到本地
- Java 下载 HTTP 资源保存到本地
- Android 下载网络图片保存到本地
- PHP 下载保存文件到本地
- nodejs下载图片保存到本地
- Android 下载网络图片保存到本地
- 保存内容到本地(下载到本地)
- 安卓adb-截图/录屏命令,保存到SD卡,导出到本地
- android-安卓图片的缩放,以及下载保存如本地。
- 版本更新 下载APK asynctask下载文件 保存到本地
- 安卓实现从互联网上获取图片并保存到本地目录中
- 安卓项目SimpleQQ——拍照并保存图片到本地
- 二项分布(Python)
- 过滤器应用(四)之权限过滤器
- 用MFC写的OPENCV小程序(1)
- hadoop-0.20.203.0对应的eclipse插件不工作问题解决方案
- iOS autolayout性能问题, uitableview的优化
- 安卓下载保存到本地(二)
- 二叉树的操作实现---数组篇
- 扫盲:这些Mac OS X的快捷键你会用吗?
- 01计算机基本组成
- Linux命令之exit - 退出当前shell【返回值状态】
- Qt多窗口界面设计的简单测试步骤
- 【半平面交】poj2540 Hotter Colder
- iPhone 5s 配备的 A7 处理器是 64 位,意味着什么?
- Delphi XE8,C++ Builder XE8,RAD Studio XE8 精简版 EMBARCADERO DELPHI XE8 LITE V11.X