2012-06-17 194 views
3

我是Android的初学者。如何查找内部SD卡的路径,然后如何查找其已用空间和空闲空间。请回复您的评论和回答是有价值的我。如何找到内部SD卡路径?

+0

您可能想查看一下,http://developer.android.com/guide/topics/data/data-storage.html可能会为您提供一些有用的信息。 – Austin

回答

4

Environment.getExternalStorageDirectory().getAbsolutePath()给你要跟SD卡路径。

为了让外部SD卡的可用“空闲”空间使用下面的代码片段。

StatFs stat = new StatFs(Environment.getExternalStorageDirectory().getPath()); 
double sdAvailSize = (double)stat.getAvailableBlocks() 
        * (double)stat.getBlockSize(); 
//One binary gigabyte equals 1,073,741,824 bytes. 
double gigaAvailable = sdAvailSize/1073741824; 
+0

这段代码是用来查找内部SD卡路径,否则外部SD卡路径? – Jahir

+0

谢谢。我也需要找到内部SD卡的路径。 – Jahir

+0

内部sd卡是什么意思?你的意思是内部存储? –

2

如何找到内部SD卡路径和外置SD卡路径

你不知道。

目前,从Android SDK的角度来看,没有“内部SD卡路径”或“外部SD卡路径”。外部存储路径由Environment上的各种方法返回(例如,getExternalStorageDirectory())。这将是设备制造商为此目的指定的任何存储空间。

在Android设备上没有确定任何其他潜在“SD卡路径”的可靠方法。

+0

感谢您的信息。这对我很有用。 – Jahir

0

使用下面的代码它将返回您的内部目录路径和SD卡路径的列表,这些设备具有内部和外部存储。

File dir = new File(Environment.getExternalStorageDirectory().getParent()); 
      File[] f = dir.listFiles(); 
      for(File file:f) 
     { 
      if(file.getName().equals("sdacard0"))//check name of sdcard from file manager. 
      { 
       if(file.isDirectory()) 
       { 
        f = file.listFiles(); 
       } 
      } 
     } 
相关问题