FileUtils.java 主要用来操作SD卡上的文件夹和文件
package com.utils;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; public String getSDPATH() { return SDPATH; } public FileUtils() { SDPATH = Environment.getExternalStorageDirectory() + "/"; } /** * 在SD卡上創建文件 * @param fileName * @return * @throws IOException */ public File createSDFile (String fileName) throws IOException { File file = new File(SDPATH+fileName); if (file.exists()) { file.createNewFile(); } return file; } /** * 在SD卡上創建目錄 * @param dirName * @return */ public File createSDDir(String dirName) { File dir = new File(SDPATH+dirName); if (!dir.isDirectory()) { dir.mkdir(); } return dir; } /** * 判斷SD卡上的文件夾是否存在 * @param fileName * @return */ public boolean isFileExist(String fileName) { File file = new File(SDPATH+fileName); return file.exists(); } /** * 将文件下载到SD卡上 * @param path * @param fileName * @param input * @return */ public File writer2SDFromIinput(String path, String fileName, InputStream input) { File file = null; OutputStream output = null; try { // 创建目录 dir.mkdir(); createSDDir(path); file = createSDFile(path+fileName); output = new FileOutputStream(file); byte buffer[] = new byte[4 * 1024]; while ((input.read(buffer)) != -1) { output.write(buffer); } output.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { output.close(); } catch (Exception e) { e.printStackTrace(); } } return file; }}
?httpDownload.java 下载文件
package com.utils;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.URL;public class HttpDownloader { private URL url = null; /** * 下载文件 * @param urlStr url * @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 (Exception e) { e.printStackTrace(); } } return sb.toString(); } /** * * @param urlStr * @param path SD哪个目录上 * @param fileName 要存放的文件名 * @return */ public int downFile(String urlStr,String path,String fileName) { InputStream in = null; FileUtils fu = new FileUtils(); if (fu.isFileExist(path+fileName)) { return 1; } try { in = getInputStreamFromUrl(urlStr); File resultFile = fu.writer2SDFromIinput(path, fileName, in); if (resultFile == null) { return -1; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { try { in.close(); }catch(Exception e) { e.printStackTrace(); return -1; } } return 0; } /** * get stream from url * @param urlStr * @return * @throws IOException */ public InputStream getInputStreamFromUrl(String urlStr) throws IOException { url = new URL(urlStr); HttpURLConnection urlConn = (HttpURLConnection)url.openConnection(); InputStream inputStream = urlConn.getInputStream(); return inputStream; } }
1 楼 njyu 2011-01-13
好使不?
