2010-05-29 3 views
0

Я хочу знать, как получить только скрытую папку из String []. На самом деле у меня есть один массив строк, и там есть некоторые файлы. Также есть обычные и скрытые файлы, но я хочу попробовать выбрать только скрытую папку из этого массива. Так кто-нибудь может мне помочь?Как выбрать только скрытую папку из String []?

ответ

3

Создать FileInfo объект для каждого файла, и использование его свойство Directory, чтобы получить DirectoryInfo экземпляр, на котором вы можете проверить Attributes свойство, которое покажет вам, если каталог скрыта.

0

Вы можете проверить, является ли каталог скрыты проверки Attributes свойство DirectoryInfo класса:

var info = new DirectoryInfo(path); 
var hidden = info.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden 

Тот же самый код будет работать для проверки, является ли скрытый файл, но вы будете использовать FileInfo вместо DirectoryInfo , Неясно, что содержит ваш массив и что вы хотите получить, но в целом вы можете использовать LINQ для реализации фильтрации. Ниже возвращает новую коллекцию, содержащую только скрытые каталоги:

var hiddenDirectories = allDirectories.Where(path => { 
    var info = new DirectoryInfo(path); 
    var hidden = (info.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden 
    return hidden; }); 

Вы должны быть в состоянии приспособить это к вашим потребностям (в зависимости от того, что файлы/каталоги, которые вы хотите получить в результате).

+0

Бросьте одно исключение из информации. exception is Error 'string' не содержит определения для 'Attributes' –

Смежные вопросы