【问题标题】:Get total size of LocalFolder Windows Phone 8.1获取 LocalFolder Windows Phone 8.1 的总大小
【发布时间】:2015-11-12 15:07:06
【问题描述】:

在我的应用程序中,我使用的是 LocalStorage。我已将照片保存到本地文件夹。我想要本地文件夹的总已用内存大小。

BasicProperties BP = await ApplicationData.Current.LocalFolder.GetBasicPropertiesAsync();
var size = BP.Size;
Debug.WriteLine("size = {0}", size);

我正在使用此代码,但每次我得到 ​​p>

大小 = 0

我已经查看了这个Answer,但我认为它不是获取本地文件夹总大小的正确方法,我不想使用 for 循环,因为我的本地文件夹中有数百个文件。

【问题讨论】:

    标签: c# windows-phone-8.1 local-storage winrt-xaml


    【解决方案1】:

    你必须遍历文件夹来计算里面文件的大小

    public async System.Threading.Tasks.Task<long> GetFolderSize(Windows.Storage.StorageFolder folder)
    {
        long size = 0;
        // For files
        foreach (Windows.Storage.StorageFile thisFile in await folder.GetFilesAsync())
        {
            Windows.Storage.FileProperties.BasicProperties props = await thisFile.GetBasicPropertiesAsync();
            size += props.Size;
        }
        // For folders
        foreach (Windows.Storage.StorageFolder thisFolder in await folder.GetFoldersAsync())
        {
           size += await GetFolderSize(thisFolder);
        }
        return size;
    }
    

    【讨论】:

    • 那么,有没有其他方法可以直接计算文件夹的大小??
    • 不,文件夹的大小是里面文件大小的总和,简单来说
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多