码迷,mamicode.com
首页 > 移动开发 > 详细

android开发积累_1)获取文件、文件夹存储空间和Toast的人性化使用

时间:2015-01-13 16:03:28      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:android   内存   存储   文件操作   

      

记录一下平时经常需要运用到得文件相关内容,俗话讲好记性不如烂笔头!

  

      1)

	<strong>/**
	 * 根据路径获得,某个文件或文件夹所在的存储器的内存空间总大小
	 * 
	 * @return
	 */
	public static long getTotalMemorySize(String path) {

		StatFs stat = new StatFs(path);

		long blockSize = stat.getBlockSize(); // 每个block 占字节数
		long totalBlocks = stat.getBlockCount(); // block总数

		return totalBlocks * blockSize;

	}</strong>


2)
/**
	 * 根据路径获得,某个文件或文件夹所在的存储器的内存空间还有多少可用
	 * 
	 * @return
	 */
	public static long getAvailableMemorySize(String path) {

		StatFs stat = new StatFs(path);

		long blockSize = stat.getBlockSize();
		long availableBlocks = stat.getAvailableBlocks();

		return availableBlocks * blockSize;

	}

3)

	/**
	 * 获取指定文件的大小
	 * 
	 * @param f
	 * @return
	 * @throws Exception
	 */
	private static long getFileSize(File file) {

		long size = 0;
		if (file.exists()) {
			FileInputStream fis = null;
			try {
				fis = new FileInputStream(file);//使用FileInputStream读入file的数据流
				size = fis.available();//文件的大小
			} catch (IOException e) {
				e.printStackTrace();
			} finally{
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			
		} else {
			Log.e(TAG, "File not exists!");
		}
		return size;
	}

4)

	/**
	 * 获取指定文件夹的大小
	 * 
	 * @param f
	 * @return
	 * @throws Exception
	 */
	private static long getFileSizes(File f) {
		long size = 0;
		File flist[] = f.listFiles();//文件夹目录下的所有文件
		for (int i = 0; i < flist.length; i++) {
			if (flist[i].isDirectory()) {//判断是否父目录下还有子目录
				size = size + getFileSizes(flist[i]);
			} else {
				size = size + getFileSize(flist[i]);
			}
		}
		return size;
	}

5)使用该方法可以防止多次触发Toast而引起多次弹出提醒框

	private Toast mToast = null;
private void showToast(Context context, String str) {

		if (mToast == null) {
			mToast = Toast.makeText(context, str, Toast.LENGTH_SHORT);
		} else {
			mToast.setText(str);
		}
		mToast.show();
	}

    

     文件相关操作:

   
   1)String Name = File.getName();//获得文件或文件夹的名称:
   2)File.mkDir(); //建立文件夹
   3) File.createNewFile();//建立文件
   4)File.isDirectory();//判断是文件或文件夹
   5)File.isDirectory()
   6)File[] files = File.listFiles();//列出文件夹下的所有文件和文件夹名
   7)File.renameTo(dest);//修改文件夹和文件名
   8)File.delete();//删除文件夹或文件
   9)childFiles[i].getName().contains("testfolder");//判断某个文件名包含有“testfolder”




android开发积累_1)获取文件、文件夹存储空间和Toast的人性化使用

标签:android   内存   存储   文件操作   

原文地址:http://blog.csdn.net/u012935222/article/details/42676919

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!