温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android开发中文件操作工具类FileUtil怎么用

发布时间:2021-08-05 14:42:53 来源:亿速云 阅读:101 作者:小新 栏目:移动开发

这篇文章将为大家详细讲解有关Android开发中文件操作工具类FileUtil怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体如下:

package com.ymerp.android.tools; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.LineNumberReader; import java.io.OutputStream; import java.io.Reader; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; import android.os.Environment; import android.util.Log; import android.widget.Toast; /**  * 文件操作工具  *  * @author chen.lin  *  */ public class FileUtil {   private static final String TAG = "FileUtil";   /**    * 从sd卡取文件    *    * @param filename    * @return    */   public String getFileFromSdcard(String filename) {     ByteArrayOutputStream outputStream = null;     FileInputStream fis = null;     try {       outputStream = new ByteArrayOutputStream();       File file = new File(Environment.getExternalStorageDirectory(), filename);       if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {         fis = new FileInputStream(file);         int len = 0;         byte[] data = new byte[1024];         while ((len = fis.read(data)) != -1) {           outputStream.write(data, 0, len);         }       }     } catch (Exception e) {       e.printStackTrace();     } finally {       try {         outputStream.close();         fis.close();       } catch (IOException e) {       }     }     return new String(outputStream.toByteArray());   }   /**    * 保存文件到sd    *    * @param filename    * @param content    * @return    */   public static boolean saveContentToSdcard(String filename, String content) {     boolean flag = false;     FileOutputStream fos = null;     try {       File file = new File(Environment.getExternalStorageDirectory(), filename);       if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {         fos = new FileOutputStream(file);         fos.write(content.getBytes());         flag = true;       }     } catch (Exception e) {       e.printStackTrace();       flag = false;     } finally {       try {         fos.close();       } catch (IOException e) {       }     }     return flag;   }   /**    * 取得文件大小    *    * @param f    * @return    * @throws Exception    */   @SuppressWarnings("resource")   public static long getFileSizes(File f) throws Exception {     long size = 0;     if (f.exists()) {       FileInputStream fis = null;       fis = new FileInputStream(f);       size = fis.available();     } else {       f.createNewFile();     }     return size;   }   /**    * 递归取得文件夹大小    *    * @param dir    * @return    * @throws Exception    */   public static long getFileSize(File dir) throws Exception {     long size = 0;     File flist[] = dir.listFiles();     for (int i = 0; i < flist.length; i++) {       if (flist[i].isDirectory()) {         size = size + getFileSize(flist[i]);       } else {         size = size + flist[i].length();       }     }     return size;   }   /**    * 转换文件大小    *    * @param fileS    * @return    */   public static String FormetFileSize(long fileS) {     DecimalFormat df = new DecimalFormat("#.00");     String fileSizeString = "";     if (fileS < 1024) {       fileSizeString = df.format((double) fileS) + "B";     } else if (fileS < 1048576) {       fileSizeString = df.format((double) fileS / 1024) + "K";     } else if (fileS < 1073741824) {       fileSizeString = df.format((double) fileS / 1048576) + "M";     } else {       fileSizeString = df.format((double) fileS / 1073741824) + "G";     }     return fileSizeString;   }   /**    * 递归求取目录文件个数    *    * @param f    * @return    */   public static long getlist(File f) {     long size = 0;     File flist[] = f.listFiles();     size = flist.length;     for (int i = 0; i < flist.length; i++) {       if (flist[i].isDirectory()) {         size = size + getlist(flist[i]);         size--;       }     }     return size;   }   /**    * 在根目录下搜索文件    *    * @param keyword    * @return    */   public static String searchFile(String keyword) {     String result = "";     File[] files = new File("/").listFiles();     for (File file : files) {       if (file.getName().indexOf(keyword) >= 0) {         result += file.getPath() + "\n";       }     }     if (result.equals("")) {       result = "找不到文件!!";     }     return result;   }   /**    * @detail 搜索sdcard文件    * @param 需要进行文件搜索的目录    * @param 过滤搜索文件类型    * */   public static List<String> search(File file, String[] ext) {     List<String> list = new ArrayList<String>();     if (file != null) {       if (file.isDirectory()) {         File[] listFile = file.listFiles();         if (listFile != null) {           for (int i = 0; i < listFile.length; i++) {             search(listFile[i], ext);           }         }       } else {         String filename = file.getAbsolutePath();         for (int i = 0; i < ext.length; i++) {           if (filename.endsWith(ext[i])) {             list.add(filename);             break;           }         }       }     }     return list;   }   /**    * 查询文件    *    * @param file    * @param keyword    * @return    */   public static List<File> FindFile(File file, String keyword) {     List<File> list = new ArrayList<File>();     if (file.isDirectory()) {       File[] files = file.listFiles();       if (files != null) {         for (File tempf : files) {           if (tempf.isDirectory()) {             if (tempf.getName().toLowerCase().lastIndexOf(keyword) > -1) {               list.add(tempf);             }             list.addAll(FindFile(tempf, keyword));           } else {             if (tempf.getName().toLowerCase().lastIndexOf(keyword) > -1) {               list.add(tempf);             }           }         }       }     }     return list;   }   /**    * searchFile 查找文件并加入到ArrayList 当中去    *    * @param context    * @param keyword    * @param filepath    * @return    */   public static List<Map<String, Object>> searchFile(Context context, String keyword, File filepath) {     List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();     Map<String, Object> rowItem = null;     int index = 0;     // 判断SD卡是否存在     if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {       File[] files = filepath.listFiles();       if (files.length > 0) {         for (File file : files) {           if (file.isDirectory()) {             if (file.getName().toLowerCase().lastIndexOf(keyword) > -1) {               rowItem = new HashMap<String, Object>();               rowItem.put("number", index); // 加入序列号               rowItem.put("fileName", file.getName());// 加入名称               rowItem.put("path", file.getPath()); // 加入路径               rowItem.put("size", file.length() + ""); // 加入文件大小               list.add(rowItem);             }             // 如果目录可读就执行(一定要加,不然会挂掉)             if (file.canRead()) {               list.addAll(searchFile(context, keyword, file)); // 如果是目录,递归查找             }           } else {             // 判断是文件,则进行文件名判断             try {               if (file.getName().indexOf(keyword) > -1 || file.getName().indexOf(keyword.toUpperCase()) > -1) {                 rowItem = new HashMap<String, Object>();                 rowItem.put("number", index); // 加入序列号                 rowItem.put("fileName", file.getName());// 加入名称                 rowItem.put("path", file.getPath()); // 加入路径                 rowItem.put("size", file.length() + ""); // 加入文件大小                 list.add(rowItem);                 index++;               }             } catch (Exception e) {               Toast.makeText(context, "查找发生错误!", Toast.LENGTH_SHORT).show();             }           }         }       }     }     return list;   }   /**    * 根据后缀得到文件类型    *    * @param fileName    * @param pointIndex    * @return    */   public static String getFileType(String fileName, int pointIndex) {     String type = fileName.substring(pointIndex + 1).toLowerCase();     if ("m4a".equalsIgnoreCase(type) || "xmf".equalsIgnoreCase(type) || "ogg".equalsIgnoreCase(type) || "wav".equalsIgnoreCase(type)         || "m4a".equalsIgnoreCase(type) || "aiff".equalsIgnoreCase(type) || "midi".equalsIgnoreCase(type)         || "vqf".equalsIgnoreCase(type) || "aac".equalsIgnoreCase(type) || "flac".equalsIgnoreCase(type)         || "tak".equalsIgnoreCase(type) || "wv".equalsIgnoreCase(type)) {       type = "ic_file_audio";     } else if ("mp3".equalsIgnoreCase(type) || "mid".equalsIgnoreCase(type)) {       type = "ic_file_mp3";     } else if ("avi".equalsIgnoreCase(type) || "mp4".equalsIgnoreCase(type) || "dvd".equalsIgnoreCase(type)         || "mid".equalsIgnoreCase(type) || "mov".equalsIgnoreCase(type) || "mkv".equalsIgnoreCase(type)         || "mp2v".equalsIgnoreCase(type) || "mpe".equalsIgnoreCase(type) || "mpeg".equalsIgnoreCase(type)         || "mpg".equalsIgnoreCase(type) || "asx".equalsIgnoreCase(type) || "asf".equalsIgnoreCase(type)         || "flv".equalsIgnoreCase(type) || "navi".equalsIgnoreCase(type) || "divx".equalsIgnoreCase(type)         || "rm".equalsIgnoreCase(type) || "rmvb".equalsIgnoreCase(type) || "dat".equalsIgnoreCase(type)         || "mpa".equalsIgnoreCase(type) || "vob".equalsIgnoreCase(type) || "3gp".equalsIgnoreCase(type)         || "swf".equalsIgnoreCase(type) || "wmv".equalsIgnoreCase(type)) {       type = "ic_file_video";     } else if ("bmp".equalsIgnoreCase(type) || "pcx".equalsIgnoreCase(type) || "tiff".equalsIgnoreCase(type)         || "gif".equalsIgnoreCase(type) || "jpeg".equalsIgnoreCase(type) || "tga".equalsIgnoreCase(type)         || "exif".equalsIgnoreCase(type) || "fpx".equalsIgnoreCase(type) || "psd".equalsIgnoreCase(type)         || "cdr".equalsIgnoreCase(type) || "raw".equalsIgnoreCase(type) || "eps".equalsIgnoreCase(type)         || "gif".equalsIgnoreCase(type) || "jpg".equalsIgnoreCase(type) || "jpeg".equalsIgnoreCase(type)         || "png".equalsIgnoreCase(type) || "hdri".equalsIgnoreCase(type) || "ai".equalsIgnoreCase(type)) {       type = "ic_file_image";     } else if ("ppt".equalsIgnoreCase(type) || "doc".equalsIgnoreCase(type) || "xls".equalsIgnoreCase(type)         || "pps".equalsIgnoreCase(type) || "xlsx".equalsIgnoreCase(type) || "xlsm".equalsIgnoreCase(type)         || "pptx".equalsIgnoreCase(type) || "pptm".equalsIgnoreCase(type) || "ppsx".equalsIgnoreCase(type)         || "maw".equalsIgnoreCase(type) || "mdb".equalsIgnoreCase(type) || "pot".equalsIgnoreCase(type)         || "msg".equalsIgnoreCase(type) || "oft".equalsIgnoreCase(type) || "xlw".equalsIgnoreCase(type)         || "wps".equalsIgnoreCase(type) || "rtf".equalsIgnoreCase(type) || "ppsm".equalsIgnoreCase(type)         || "potx".equalsIgnoreCase(type) || "potm".equalsIgnoreCase(type) || "ppam".equalsIgnoreCase(type)) {       type = "ic_file_office";     } else if ("txt".equalsIgnoreCase(type) || "text".equalsIgnoreCase(type) || "chm".equalsIgnoreCase(type)         || "hlp".equalsIgnoreCase(type) || "pdf".equalsIgnoreCase(type) || "doc".equalsIgnoreCase(type)         || "docx".equalsIgnoreCase(type) || "docm".equalsIgnoreCase(type) || "dotx".equalsIgnoreCase(type)) {       type = "ic_file_text";     } else if ("ini".equalsIgnoreCase(type) || "sys".equalsIgnoreCase(type) || "dll".equalsIgnoreCase(type)         || "adt".equalsIgnoreCase(type)) {       type = "ic_file_system";     } else if ("rar".equalsIgnoreCase(type) || "zip".equalsIgnoreCase(type) || "arj".equalsIgnoreCase(type)         || "gz".equalsIgnoreCase(type) || "z".equalsIgnoreCase(type) || "7Z".equalsIgnoreCase(type) || "GZ".equalsIgnoreCase(type)         || "BZ".equalsIgnoreCase(type) || "ZPAQ".equalsIgnoreCase(type)) {       type = "ic_file_rar";     } else if ("html".equalsIgnoreCase(type) || "htm".equalsIgnoreCase(type) || "java".equalsIgnoreCase(type)         || "php".equalsIgnoreCase(type) || "asp".equalsIgnoreCase(type) || "aspx".equalsIgnoreCase(type)         || "jsp".equalsIgnoreCase(type) || "shtml".equalsIgnoreCase(type) || "xml".equalsIgnoreCase(type)) {       type = "ic_file_web";     } else if ("exe".equalsIgnoreCase(type) || "com".equalsIgnoreCase(type) || "bat".equalsIgnoreCase(type)         || "iso".equalsIgnoreCase(type) || "msi".equalsIgnoreCase(type)) {       type = "ic_file_exe";     } else if ("apk".equalsIgnoreCase(type)) {       type = "ic_file_apk";     } else {       type = "ic_file_normal";     }     return type;   }   /**    * 改变文件大小显示的内容    *    * @param size    * @return    */   public static String changeFileSize(String size) {     if (Integer.parseInt(size) > 1024) {       size = Integer.parseInt(size) / 1024 + "K";     } else if (Integer.parseInt(size) > (1024 * 1024)) {       size = Integer.parseInt(size) / (1024 * 1024) + "M";     } else if (Integer.parseInt(size) > (1024 * 1024 * 1024)) {       size = Integer.parseInt(size) / (1024 * 1024 * 1024) + "G";     } else {       size += "B";     }     return size;   }   /**    * 得到所有文件    *    * @param dir    * @return    */   public static ArrayList<File> getAllFiles(File dir) {     ArrayList<File> allFiles = new ArrayList<File>();     // 递归取得目录下的所有文件及文件夹     File[] files = dir.listFiles();     for (int i = 0; i < files.length; i++) {       File file = files[i];       allFiles.add(file);       if (file.isDirectory()) {         getAllFiles(file);       }     }     Logger.i("test", allFiles.size() + "");     return allFiles;   }   /**    * 判断文件MimeType 类型    *    * @param f    * @return    */   public static String getMIMEType(File f) {     String type = "";     String fName = f.getName();     /* 取得扩展名 */     String end = fName.substring(fName.lastIndexOf(".") + 1, fName.length()).toLowerCase();     /* 依扩展名的类型决定MimeType */     if (end.equalsIgnoreCase("m4a") || end.equalsIgnoreCase("mp3") || end.equalsIgnoreCase("mid") || end.equalsIgnoreCase("xmf")         || end.equalsIgnoreCase("ogg") || end.equalsIgnoreCase("wav")) {       type = "audio";     } else if (end.equalsIgnoreCase("3gp") || end.equalsIgnoreCase("mp4")) {       type = "video";     } else if (end.equalsIgnoreCase("jpg") || end.equalsIgnoreCase("gif") || end.equalsIgnoreCase("png")         || end.equalsIgnoreCase("jpeg") || end.equalsIgnoreCase("bmp")) {       type = "image";     } else if (end.equalsIgnoreCase("apk")) {       /* android.permission.INSTALL_PACKAGES */       type = "application/vnd.android.package-archive";     } else if (end.equalsIgnoreCase("txt") || end.equalsIgnoreCase("java")) {       /* android.permission.INSTALL_PACKAGES */       type = "text";     } else {       type = "*";     }     /* 如果无法直接打开,就跳出软件列表给用户选择 */     if (end.equalsIgnoreCase("apk")) {     } else {       type += "/*";     }     return type;   }   /**    * 拷贝文件    *    * @param fromFile    * @param toFile    * @throws IOException    */   public static void copyFile(File fromFile, String toFile) throws IOException {     FileInputStream from = null;     FileOutputStream to = null;     try {       from = new FileInputStream(fromFile);       to = new FileOutputStream(toFile);       byte[] buffer = new byte[1024];       int bytesRead;       while ((bytesRead = from.read(buffer)) != -1)         to.write(buffer, 0, bytesRead); // write     } finally {       if (from != null)         try {           from.close();         } catch (IOException e) {           Log.e(TAG, "", e);         }       if (to != null)         try {           to.close();         } catch (IOException e) {           Log.e(TAG, "", e);         }     }   }   /**    * 创建文件    *    * @param file    * @return    */   public static File createNewFile(File file) {     try {       if (file.exists()) {         return file;       }       File dir = file.getParentFile();       if (!dir.exists()) {         dir.mkdirs();       }       if (!file.exists()) {         file.createNewFile();       }     } catch (IOException e) {       Log.e(TAG, "", e);       return null;     }     return file;   }   /**    * 创建文件    *    * @param path    */   public static File createNewFile(String path) {     File file = new File(path);     return createNewFile(file);   }// end method createText()   /**    * 删除文件    *    * @param path    */   public static void deleteFile(String path) {     File file = new File(path);     deleteFile(file);   }   /**    * 删除文件    *    * @param file    */   public static void deleteFile(File file) {     if (!file.exists()) {       return;     }     if (file.isFile()) {       file.delete();     } else if (file.isDirectory()) {       File files[] = file.listFiles();       for (int i = 0; i < files.length; i++) {         deleteFile(files[i]);       }     }     file.delete();   }   /**    * 向Text文件中写入内容    *    * @param file    * @param content    * @return    */   public static boolean write(String path, String content) {     return write(path, content, false);   }   public static boolean write(String path, String content, boolean append) {     return write(new File(path), content, append);   }   public static boolean write(File file, String content) {     return write(file, content, false);   }   /**    * 写入文件    *    * @param file    * @param content    * @param append    * @return    */   public static boolean write(File file, String content, boolean append) {     if (file == null || StringUtil.empty(content)) {       return false;     }     if (!file.exists()) {       file = createNewFile(file);     }     FileOutputStream fos = null;     try {       fos = new FileOutputStream(file, append);       fos.write(content.getBytes());     } catch (Exception e) {       Log.e(TAG, "", e);       return false;     } finally {       try {         fos.close();       } catch (IOException e) {         Log.e(TAG, "", e);       }       fos = null;     }     return true;   }   /**    * 获得文件名    *    * @param path    * @return    */   public static String getFileName(String path) {     if (StringUtil.empty(path)) {       return null;     }     File f = new File(path);     String name = f.getName();     f = null;     return name;   }   /**    * 读取文件内容,从第startLine行开始,读取lineCount行    *    * @param file    * @param startLine    * @param lineCount    * @return 读到文字的list,如果list.size<lineCount则说明读到文件末尾了    */   public static List<String> readFile(File file, int startLine, int lineCount) {     if (file == null || startLine < 1 || lineCount < 1) {       return null;     }     if (!file.exists()) {       return null;     }     FileReader fileReader = null;     List<String> list = null;     try {       list = new ArrayList<String>();       fileReader = new FileReader(file);       LineNumberReader lineReader = new LineNumberReader(fileReader);       boolean end = false;       for (int i = 1; i < startLine; i++) {         if (lineReader.readLine() == null) {           end = true;           break;         }       }       if (end == false) {         for (int i = startLine; i < startLine + lineCount; i++) {           String line = lineReader.readLine();           if (line == null) {             break;           }           list.add(line);         }       }     } catch (Exception e) {       Log.e(TAG, "read log error!", e);     } finally {       if (fileReader != null) {         try {           fileReader.close();         } catch (IOException e) {           e.printStackTrace();         }       }     }     return list;   }   /**    * 创建文件夹    *    * @param dir    * @return    */   public static boolean createDir(File dir) {     try {       if (!dir.exists()) {         dir.mkdirs();       }       return true;     } catch (Exception e) {       Log.e(TAG, "create dir error", e);       return false;     }   }   /**    * 在SD卡上创建目录    *    * @param dirName    */   public static File creatSDDir(String dirName) {     File dir = new File(dirName);     dir.mkdir();     return dir;   }   /**    * 判断SD卡上的文件是否存在    */   public static boolean isFileExist(String fileName) {     File file = new File(fileName);     return file.exists();   }   /**    * 将一个InputStream里面的数据写入到SD卡中    */   public static File write2SDFromInput(String path, String fileName, InputStream input) {     File file = null;     OutputStream output = null;     try {       creatSDDir(path);       file = createNewFile(path + "/" + fileName);       output = new FileOutputStream(file);       byte buffer[] = new byte[1024];       int len = -1;       while ((len = input.read(buffer)) != -1) {         output.write(buffer, 0, len);       }       output.flush();     } catch (Exception e) {       e.printStackTrace();     } finally {       try {         output.close();       } catch (Exception e) {         e.printStackTrace();       }     }     return file;   }   /**    * 读取文件内容 从文件中一行一行的读取文件    *    * @param file    * @return    */   public static String readFile(File file) {     Reader read = null;     String content = "";     String result = "";     BufferedReader br = null;     try {       read = new FileReader(file);       br = new BufferedReader(read);       while ((content = br.readLine().toString().trim()) != null) {         result += content + "\r\n";       }     } catch (Exception e) {       e.printStackTrace();     } finally {       try {         read.close();         br.close();       } catch (Exception e) {         e.printStackTrace();       }     }     return result;   }   /**    * 将图片保存到本地时进行压缩, 即将图片从Bitmap形式变为File形式时进行压缩,    * 特点是: File形式的图片确实被压缩了, 但是当你重新读取压缩后的file为 Bitmap是,它占用的内存并没有改变    *    * @param bmp    * @param file    */   public static void compressBmpToFile(Bitmap bmp, File file) {     ByteArrayOutputStream baos = new ByteArrayOutputStream();     int options = 80;// 个人喜欢从80开始,     bmp.compress(Bitmap.CompressFormat.JPEG, options, baos);     while (baos.toByteArray().length / 1024 > 100) {       baos.reset();       options -= 10;       bmp.compress(Bitmap.CompressFormat.JPEG, options, baos);     }     try {       FileOutputStream fos = new FileOutputStream(file);       fos.write(baos.toByteArray());       fos.flush();       fos.close();     } catch (Exception e) {       e.printStackTrace();     }   }   /**    * 将图片从本地读到内存时,进行压缩 ,即图片从File形式变为Bitmap形式    * 特点: 通过设置采样率, 减少图片的像素, 达到对内存中的Bitmap进行压缩    * @param srcPath    * @return    */   public static Bitmap compressImageFromFile(String srcPath, float pixWidth, float pixHeight) {     BitmapFactory.Options options = new BitmapFactory.Options();     options.inJustDecodeBounds = true;// 只读边,不读内容     Bitmap bitmap = BitmapFactory.decodeFile(srcPath, options);     options.inJustDecodeBounds = false;     int w = options.outWidth;     int h = options.outHeight;     //float pixWidth = 800f;//     //float pixHeight = 480f;//     int scale = 1;     if (w > h && w > pixWidth) {       scale = (int) (options.outWidth / pixWidth);     } else if (w < h && h > pixHeight) {       scale = (int) (options.outHeight / pixHeight);     }     if (scale <= 0)       scale = 1;     options.inSampleSize = scale;// 设置采样率     options.inPreferredConfig = Config.ARGB_8888;// 该模式是默认的,可不设     options.inPurgeable = true;// 同时设置才会有效     options.inInputShareable = true;// 。当系统内存不够时候图片自动被回收     bitmap = BitmapFactory.decodeFile(srcPath, options);     // return compressBmpFromBmp(bitmap);//原来的方法调用了这个方法企图进行二次压缩     // 其实是无效的,大家尽管尝试     return bitmap;   }   /**   *  指定分辨率和清晰度的图片压缩   */   public void transImage(String fromFile, String toFile, int width, int height, int quality)   {     try     {       Bitmap bitmap = BitmapFactory.decodeFile(fromFile);       int bitmapWidth = bitmap.getWidth();       int bitmapHeight = bitmap.getHeight();       // 缩放图片的尺寸       float scaleWidth = (float) width / bitmapWidth;       float scaleHeight = (float) height / bitmapHeight;       Matrix matrix = new Matrix();       matrix.postScale(scaleWidth, scaleHeight);       // 产生缩放后的Bitmap对象       Bitmap resizeBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmapWidth, bitmapHeight, matrix, false);       // save file       File myCaptureFile = new File(toFile);       FileOutputStream out = new FileOutputStream(myCaptureFile);       if(resizeBitmap.compress(Bitmap.CompressFormat.JPEG, quality, out)){         out.flush();         out.close();       }       if(!bitmap.isRecycled()){         bitmap.recycle();//记得释放资源,否则会内存溢出       }       if(!resizeBitmap.isRecycled()){         resizeBitmap.recycle();       }     }     catch (FileNotFoundException e)     {       e.printStackTrace();     }     catch (IOException ex)     {       ex.printStackTrace();     }   } }

关于“Android开发中文件操作工具类FileUtil怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI