मैंने देखा है और इसके लिए एक एपीआई नहीं मिला है। ऐसी दो संभावनाएं हैं जिन पर मैं सोच सकता हूं:
- एक अस्थायी फ़ाइल बनाना और इसे एक अलग केस पैटर्न के साथ खोलने का प्रयास करना, उदाहरण के लिए "ए 99 99" बनाना और "ए 99 99" खोलने की कोशिश कर रहा है। इस विशेष निर्देशिका पर न तो "ए 99 99" और न ही "ए 99 99" उपलब्ध थे, फाइल सिस्टम केस-संवेदी है अगर केवल "ए 99 99" खोलने में विफल रहता है।
- फाइल सिस्टम के विरुद्ध
diskutil(8)
चल रहा है। Name: Mac OS Extended (Case-sensitive)
बनाम Name: Mac OS Extended
(नहीं जर्नल): यह केस-संवेदी, -insensitive फाइल सिस्टम को अलग ढंग से रिपोर्ट।
चूंकि
diskutil(8)
यह पहचानने में सक्षम है, यह मामला हो सकता है कि यह जानकारी कुछ एपीआई या सिस्टम कॉल के माध्यम से उपलब्ध है।
संपादित करें: यह पता चला NSURL
तरीकों कि फाइल सिस्टम गुण पर काम का एक सेट है। विशेष रूप से, -getResourceValue:forKey:error
कुंजी NSURLVolumeSupportsCaseSensitiveNamesKey
के साथ आपको बताएगी कि एक दी गई फाइल सिस्टम (NSURL
उदाहरण के रूप में प्रतिनिधित्व) केस संवेदनशील नामों का समर्थन करता है।
इसके उपयोग के उदाहरण के लिए निम्नलिखित कोड देखें।
#include <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [NSAutoreleasePool new];
NSString *path = [NSString stringWithCString:argv[1] encoding:NSASCIIStringEncoding];
NSURL *filesystem = [NSURL fileURLWithPath:path isDirectory:YES];
NSNumber *caseSensitiveFS;
BOOL hasCaseSensitiveResource;
hasCaseSensitiveResource = [filesystem getResourceValue:&caseSensitiveFS
forKey:NSURLVolumeSupportsCaseSensitiveNamesKey error:NULL];
if (hasCaseSensitiveResource)
{
if ([caseSensitiveFS intValue] == 1)
{
NSLog(@"%s is a case sensitive filesystem", argv[1]);
}
else
{
NSLog(@"%s is a case insensitive filesystem", argv[1]);
}
}
else
{
NSLog(@"can't query %s for case sensitiveness", argv[1]);
}
[pool drain];
return 0;
}
आउटपुट उदाहरण:
./testcase/
/is a case insensitive filesystem
./testcase /Volumes/Disk\ Image/
/Volumes/Disk Image/ is a case sensitive filesystem
./testcase nonono
can't query nonono for case sensitiveness
स्रोत
2011-01-16 16:00:41
आह उत्कृष्ट सामान। बहुत धन्यवाद। – trojanfoe
http://lists.apple.com/archives/darwin-dev/2007/Apr/msg00036.html सुझाव देता है कि यह विश्वसनीय नहीं है। – thakis