Android中关于删除文件以及文件夹的操作
。。。。。。开始以为删除文件和文件夹会是一样的,同样的找到路径。。。但是只是有那么一点点不一样而已。。。。
首先我们判断是否有SD卡,然后再进行删除:
/** * 先判断是否有SD卡 * */ private String isSdcard() { File sdcardDir = null; boolean isSDExist = Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); if (isSDExist) { // 如果存在SDcard 就找到跟目录 sdcardDir = Environment.getExternalStorageDirectory(); return sdcardDir.toString(); } else { return null; } } /** * 删除文件夹所有内容 * */ public boolean deleteFile(File file) { System.out.println("file is==>" + file); boolean isSuccess = false; if (file.exists()) { // 判断文件是否存在 if (file.isFile()) { // 判断是否是文件 System.out.println("is file"); file.delete(); // delete()方法 你应该知道 是删除的意思; } else if (file.isDirectory()) { // 否则如果它是一个目录 System.out.println("is dic"); File files[] = file.listFiles(); // 声明目录下所有的文件 files[]; for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件 this.deleteFile(files[i]); // 把每个文件 用这个方法进行迭代 } } file.delete(); isSuccess = true; } else { isSuccess = false; } return isSuccess; }
okay,另外,这里附上截屏方法:
private void CutImage() { cur_Time = System.currentTimeMillis() / 1000; // Bitmap-->Drawable // BitmapDrawable bd = new BitmapDrawable(shot()); // imageView.setBackgroundDrawable(bd); // 保存Bitmap if (null == isSdcard()) { Toast.makeText(this, "内存卡不存在", Toast.LENGTH_SHORT).show(); } else { Path = isSdcard() + fileName; String SavePath = Path + mId + "_" + cur_Time + ".jpg"; bmp = shot(); File pathFile = new File(Path); if (!pathFile.exists()) { System.out.println("mkdir"); pathFile.mkdir(); } File file = null; try { file = new File(SavePath); if (!file.exists()) { file.createNewFile(); System.out.println("createNewFile"); } } catch (Exception e) { e.printStackTrace(); } FileOutputStream fos = null; try { fos = new FileOutputStream(file); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } if (null != fos) { bmp.compress(Bitmap.CompressFormat.PNG, 90, fos); System.out.println("compress"); try { fos.flush(); } catch (IOException e) { e.printStackTrace(); } try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { } } }
还有一种返回Bitmap:
/** * 截屏方法 * * @return */ private Bitmap shot() { View view = getWindow().getDecorView(); Display display = this.getWindowManager().getDefaultDisplay(); view.layout(0, 0, display.getWidth(), display.getHeight()); view.setDrawingCacheEnabled(true);// 允许当前窗口保存缓存信息,这样getDrawingCache()方法才会返回一个Bitmap Bitmap bmp = Bitmap.createBitmap(view.getDrawingCache()); return bmp; }
一切只是为了充实自己!!stay hungry and stay foolish!!