2011-02-26 20 views
5

Aygıtta boş alan ve sanal alanımın kullandığı alan miktarını almaya çalışıyorum. Düşüncesi olan var mı?Aygıt boş alanı ve sanal alan alanı

sayesinde Objective-C ise Rick

+0

Hala bazı yardım arayan ... Ben denedim : NSFileManager.SystemFreeSize.Length ancak bazı saçma sapan (20) ve DriveInfo [] allDrives = DriveInfo.GetDrives(); d.AvailableFreeSpace; Ancak bu uygulama çöktü ve MonoTouch tarafından API'nin desteklenmediğini söylüyorum. Neden bu kadar frigg'n cihaz üzerinde boş alan almak zor? – Rick

+0

Hala cihazda toplam boş alan nasıl elde edileceğine dair bir cevap arıyor - MonoTouch'dan herhangi bir güncelleme var mı? – Rick

cevap

6

Eğer NSFileManager ile kullanılabilir dosya sistemi alanı elde edebilirsiniz:

NSFileManager* filemgr = [NSFileManager defaultManager]; 

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *docDirectory = [paths objectAtIndex:0];    

NSDictionary* fsAttr = [filemgr attributesOfFileSystemForPath:docDirectory error:NULL]; 

unsigned long long freeSize = [(NSNumber*)[fsAttr objectForKey:NSFileSystemFreeSize] unsignedLongLongValue]; 

uygulama bu soruyu okumak kullanıyor alan miktarını almak için: Calculate the size of a folder

0

Bu yakın, ama mükemmel değil.

NSFileManager a = NSFileManager.DefaultManager; 
NSError _error; 

string _databaseFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), ".."); 
NSDictionary _b = a.GetFileSystemAttributes(_databaseFolder,out _error); 
NSObject _d = NSObject.FromObject("NSFileSystemFreeSize"); 
NSObject _c = _b.ObjectForKey(_d); 
0

Bu doğrudan MonoTouch için @ phix23 dan çevirmek olduğunu (çizgilerin uzunluğu için Maalesef kakao çok ayrıntılı olduğu):

var docDir = NSSearchPath.GetDirectories(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomain.User, true)[0]; 
var freeSpace = NSFileManager.DefaultManager.GetFileSystemAttributes(docDir).FreeSize; 
İlgili konular