Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android開發積累_1)獲取文件、文件夾存儲空間和Toast的人性化使用

android開發積累_1)獲取文件、文件夾存儲空間和Toast的人性化使用

編輯:關於Android編程

記錄一下平時經常需要運用到得文件相關內容,俗話講好記性不如爛筆頭!

1)

	/**
	 * 根據路徑獲得,某個文件或文件夾所在的存儲器的內存空間總大小
	 * 
	 * @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;

	}


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”




  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved