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

      

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

  

      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”




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值