android開發積累_1)擷取檔案、檔案夾儲存空間和Toast的人性化使用

來源:互聯網
上載者:User

android開發積累_1)擷取檔案、檔案夾儲存空間和Toast的人性化使用

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

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”




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.