android 图片音乐下载

时间:2022-04-07 15:54:12

文件处理类:

package com.creation.tool;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import android.os.Environment;

/**
* 文件写入sdcard中。。。
* @author double_fly.
*/
public class FileOut {
//得到sd卡的路径。
private static String FilePath = Environment.getExternalStorageDirectory().getName();
//url 工具类
private static URLTool urlTool = new URLTool();
//判定文件是否已经存在。
public boolean isExit(String fileName){
File file = new File(FilePath+File.separator+fileName);
return file.exists();
}

public File creatFile(String fileName){
File file = new File(FilePath+File.separator+fileName);
try {
file.createNewFile();
} catch (IOException e) {
System.out.println("fileout 中创建文件出现错误。。。。"+file);
return null;
}
return file;
}
/**
* 将文件写入到sd卡中。 通过路径得到文件流,再写入到文件中。
*返回1 成功,返回0 失败 返回-1文件已存在
* @param urlPath 网络上文件地址
* @param fileName 文件名
* @param inputStream 从网络上得到的输入流。
* @return
*/
public int write2SD(String fileName,InputStream inputStream){
if(fileName ==""){ //参数错误
return 0;
}
System.out.println(isExit(fileName));
if(isExit(fileName)){ //文件已经存在。
return -1;
}
File file = creatFile(fileName);
byte [] temp = new byte[1024];
int returnInt ;
OutputStream out = null;
try {
out =new FileOutputStream(file);
while((returnInt = inputStream.read(temp))!=-1){
out.write(temp);
}
} catch (FileNotFoundException e) {
System.out.println("文件在写入sd卡的时候出现错误。。。。");
}catch(IOException e){
System.out.println("读取文件流的时候出错。。。");
}finally{
try {
if(out != null){
out.close();
}
if(inputStream!= null){
inputStream.close();
}
} catch (IOException e) {
System.out.println("关闭流的时候出现错误。。。");
}
}
return 1;
}
}

工厂管理类:

package com.creation.tool;

import java.io.InputStream;

public class Downloader {
//下载地址。
String imagePath = "http://192.168.1.106/download/tomcat.gif";
String voicePath = "http://192.168.1.106/download/vioce.mp3";
URLTool urlTool = null;
FileOut fileOut = null;

public Downloader(){
urlTool = new URLTool();
fileOut = new FileOut();
}

public int downloadImage(){
String fileName = "tomcat.gif";
InputStream is = urlTool.getInputStreamByURL(imagePath);
int returnInt = fileOut.write2SD( fileName, is); //返回1 成功,返回0 失败 返回-1文件已存在
return returnInt;
}

public int downloadMp3(){
String fileName = "voice.mp3";
InputStream is = urlTool.getInputStreamByURL(voicePath);
int returnInt = fileOut.write2SD( fileName, is); //返回1 成功,返回0 失败 返回-1文件已存在
return returnInt;
}
}

连接地址类;

package com.creation.tool;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

/**
* 1,通过url连接到网络中,下载url的资源。。
* 2,获取输入流
* 3,将数据写入到手机内存文件中。
* @author double_fly.
*
*/
public class URLTool {
/**
* 得到url连接。。
* @param urlPath
*/
public URLConnection getConnection(String urlPath){
URL url ;
URLConnection urlCon ;
try {
url = new URL(urlPath);
urlCon = url.openConnection();
return urlCon;
} catch (MalformedURLException e) {
System.out.println("fileOut 中打开url 的时候出现错误。。。。");
}catch (IOException e) {
System.out.println("FileOut 中获取url连接的时候出现错误。。。");
}
return null;
}

public InputStream getInputStreamByURL(String urlPath){
URLConnection urlCon = getConnection(urlPath);
InputStream is = null;
try {
is = urlCon.getInputStream();
} catch (IOException e) {
System.out.println("fileOut中获取输入流的时候错误。。。");
System.out.println("::::::::\n"+e.getMessage());
}
return is;
}
}

ok 告一段落!!!!!