当前位置: 代码迷 >> Android >> android平台下的文件上载,文件和文件的操作
  详细解决方案

android平台下的文件上载,文件和文件的操作

热度:36   发布时间:2016-05-01 13:34:55.0
android平台上的文件下载,文件和文件的操作

android平台上对文件的操作和java基本上是相同的

注意用Environment.getExternalStorageDirectory()+"/"获得的SD目录最好

package duohuo.teng.net;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 FileUtil {	private String SDPATH;	public FileUtil() {		//获得SD卡的路劲		SDPATH=Environment.getExternalStorageDirectory()+"/";		}			/*创建文件	 * 	 * */	public File createFile(String fileName) throws IOException{	File file=new File(SDPATH+fileName);	file.createNewFile();		return file;	}	/*创建文件夹	 * 	 * */	public File createDirs(String dirName){		File file=new File(SDPATH+dirName);		Boolean b=file.mkdirs();		System.out.println(b);		return file;	}	/*判断文件(夹)是否存在	 * 	 * */		public boolean isFileExist(String path){		return new File(SDPATH+path).exists();			}	public File writeToSDFromInputStream(String path,String fileName,InputStream in){		File file=null;		OutputStream out = null;				createDirs(path);		try {			 path=path+"/"+fileName;			System.out.println(path);		file=createFile(path);		out=new FileOutputStream(file);		byte[] buffer=new byte[4*1024];		while(in.read(buffer)!=-1){			out.write(buffer);		}				} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}finally{			try {				if(out!=null)				out.close();				if(in!=null)				in.close();			} catch (IOException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}								}						return file;	}	/*delete file	 * @return 0 文件不存在 1删除成功	 * */	public int deleteFile(String fileAllName){		File file=new File(SDPATH+fileAllName);	if(isFileExist(file.getPath())){		return 0;	}		file.delete();	return 1;											}	}

下面是下载?

package duohuo.teng.net;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.MalformedURLException;import java.net.URL;import java.net.URLConnection;public class HttpDownloadUtil {		/*将文件保存为String	 * @param urlStr 本机测试是不是ip不是localhost和127.0.0.1,这是指android的IP,电脑是10.0.2.2	 * */	public String downloadString(String urlStr){		StringBuffer result=new StringBuffer();;		URL url;		InputStream in = null;		BufferedReader reader=null;		try {			 url=new URL(urlStr);			 HttpURLConnection con=(HttpURLConnection)url.openConnection();			 in=con.getInputStream();					reader=new BufferedReader(new InputStreamReader(in));				String line;		while((line=reader.readLine())!=null){			result.append(line);		}						} catch (MalformedURLException e) {			e.printStackTrace();		}catch (IOException e) {			e.printStackTrace();		}finally{			try {				if(reader!=null)					reader.close();				if(in!=null)					in.close();							} catch (IOException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}					}		return result.toString();	}	/*将文件写入SD卡	 * @return -1 写入失败 0存在 1写入成功	 * @param urlStr 本机测试是不是ip不是localhost和127.0.0.1,这是指android的IP,电脑是10.0.2.2	 * */			public int downloadFile(String urlStr,String toPath,String fileName){		try {			URL url=new URL(urlStr);		URLConnection con=url.openConnection();		InputStream in=con.getInputStream();		FileUtil fileUtil=new FileUtil();		if(fileUtil.isFileExist(toPath+fileName)){						return 0;		}				File file=fileUtil.writeToSDFromInputStream(toPath, fileName, in);					if(file==null){			return -1;		}				} catch (MalformedURLException e) {			// TODO Auto-generated catch block			e.printStackTrace();			return -1;		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();			return -1;		}				return 1;									}				}

?

  相关解决方案