Android(安卓)文件操作工具类
16lz
2021-12-04
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;}}
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Unity3d 调用Android震动
- Android(安卓)Dex文件结构
- Android(安卓)Room 数据库
- Android(安卓)通过HTTP POST 上传图片文件
- Android(安卓)studio 3.0和unity交互 Manifest文件修改后正确的
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- Android(安卓)Okhttp 断点续传面试解析