2015-11-16 8 views
13

UWP के लिए में सभी फाइलों हो रही है, यह के रूप में एप्लिकेशन को स्थानीय फ़ोल्डर में सभी फ़ाइलें प्राप्त करने के लिए आसान है:UWP एप्लिकेशन फ़ोल्डर

IReadOnlyList<StorageFile> files = await ApplicationData.Current.LocalFolder.GetFilesAsync();

अब आप सूची फ़ाइलों की पुनरावृति करेंगे और भी आगे प्राप्त कर सकते हैं व्यक्तिगत फाइलों पर जानकारी।

मैं एक ऐप्स फ़ोल्डर के लिए एक समान सभी-फ़ाइल-गेटर चाहते हैं, उदाहरण के लिए, जहां एप्लिकेशन * .png फ़ाइलें जमा हो जाती है /आस्तियों फ़ोल्डर पर विचार करें। ज्ञात नाम वाली एकल फ़ाइल कोई समस्या नहीं है; मैं के रूप में काफी आसानी से इसे करने के लिए उल्लेख कर सकते हैं:

StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///Assets/StoreLogo.png"))

मेरा प्रश्न है, इसलिए, वहाँ कोई एप्लिकेशन फ़ोल्डर में सभी फ़ाइलें प्राप्त करने के लिए एक ऐसी ही बात है, इस तरह के रूप /आस्तियों फ़ोल्डर? तर्कसंगत रूप से, यह StorageFile.GetFilesFromApplicationFolderUriAsync(new Uri(@"ms-appx:///Assets")) जैसा कुछ होना चाहिए लेकिन अगर ऊपर दिखाए गए स्थानीय फ़ोल्डर के बराबर मौजूद है तो अनजान होना चाहिए।

उत्तर

27

आप Package.InstalledLocation का उपयोग करके आप इंस्टॉलेशन फ़ोल्डर तक पहुंच सकते हैं। इसलिए अपने कोड इस तरह दिखेगा कर सकते हैं:

StorageFolder appInstalledFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; 
StorageFolder assets = await appInstalledFolder.GetFolderAsync("Assets"); 
var files = await assets.GetFilesAsync(); 
+0

ओह! वह बहुत तेज़ था और धन्यवाद। मजेदार है कि मैंने पैकेज का इस्तेमाल किया था। कुछ समय पहले स्थापित स्थान और एमएस-ऐप्स पर ध्यान केंद्रित: /// योजना ने मुझे भूल दिया। धन्यवाद फिर से - आपने अपना समय बचाया। – user5525674

+2

@ user5525674 कोई समस्या नहीं, मैं बस पास कर रहा था;) – Romasz

+0

मेरे लिए, GetFolderAsync ("SomeFolder") खाली होने पर अपवाद फेंक देगा। – jchristof

संबंधित मुद्दे