Android 文件操作工具类
package cn.ibabyzone.library; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import android.app.Activity; import android.os.Environment; import android.util.Log; //用户数据读写函数 //存在SD卡时数据从SD卡读写不存在时通过DATA目录读写 public class FileUtils { private String SDPATH; private int FILESIZE = 1; public String getSDPATH() { return SDPATH; } public FileUtils(Activity thisActivity) { if(android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) { SDPATH = Environment.getExternalStorageDirectory() + "/ibabyzone/"; } else { SDPATH= thisActivity.getFilesDir().toString() + "/ibabyzone/"; } } /** * 在SD卡上创建文件 */ public File creatSDFile(String fileName) throws IOException { File file = new File(SDPATH + fileName); file.createNewFile(); return file; } public void delFolder(String folderPath) { try { delAllFile(folderPath); //删除完里面所有内容 String filePath = folderPath; filePath = filePath.toString(); java.io.File myFilePath = new java.io.File(filePath); myFilePath.delete(); //删除空文件夹 } catch (Exception e) { System.out.println("删除文件夹操作出错"); e.printStackTrace(); } } /** * 删除文件夹里面的所有文件 * @param path String 文件夹路径 如 c:/fqf */ public void delAllFile(String path) { File file = new File(path); if (!file.exists()) { return; } if (!file.isDirectory()) { return; } String[] tempList = file.list(); File temp = null; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); } else { temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp.delete(); } if (temp.isDirectory()) { delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件 delFolder(path+"/"+ tempList[i]);//再删除空文件夹 } } } /** * 在SD卡上创建目录 */ public File creatSDDir(String dirName) { File dir = new File(SDPATH + dirName); dir.mkdir(); return dir; } /** * 判断SD卡上的文件夹是否存在 */ public boolean isFileExist(String fileName) { File file = new File(SDPATH + fileName); return file.exists(); } public long file_time(String fileName) { File file = new File(SDPATH + fileName); return file.lastModified(); } /** * 将一个InputStream里面的数据写入到SD卡中 */ public File write2SDFromInput(String path, String fileName,InputStream input) { File file = null; OutputStream output = null; try { creatSDDir(path); file = creatSDFile(path + fileName); output = new FileOutputStream(file); byte[] buffer = new byte[FILESIZE]; 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; } public static void deleteFile(String fileStr) { File file = new File(fileStr); if (file.exists()) { // 判断文件是否存在 if (file.isFile()) { // 判断是否是文件 file.delete(); // delete()方法 你应该知道 是删除的意思; } file.delete(); } } public void delFile(String path) { String str = SDPATH+path; File file = new File(str); if (file.exists()) { file.delete(); } } public int CopyFileToFile(File fromFile, File toFile) { try { InputStream fosfrom = new FileInputStream(fromFile); OutputStream fosto = new FileOutputStream(toFile); byte bt[] = new byte[1024]; int c; while ((c = fosfrom.read(bt)) > 0) { fosto.write(bt, 0, c); } fosfrom.close(); fosto.close(); return 0; } catch (Exception ex) { return -1; } } public File CopyFileRomToSD(String romfile){ if(!android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) { return null; } File rom = new File(romfile); File sd = new File(Environment.getExternalStorageDirectory() + "/ibabyzone/"+romfile); if(CopyFileToFile(rom,sd) == 0){ return sd; } return null; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。