Как скрыть файл в C #?

Как я могу получить путь к файлу из этого типа URI контента?

У вас нет, так как нет никакого файла вообще за Uri, не говоря уже о том, к которому вы можете получить доступ. Это Uri может указывать на:

  • Локальный файл на внешнем хранилище
  • Локальный файл на внутренней памяти для другого приложения
  • Локальный файл на съемном носителе
  • Локальный файл, который зашифрован и должен быть дешифрован на лету
  • Поток байтов, хранящихся в столбце BLOB в базе данных
  • Часть содержимого, которое должно быть загружено другим приложением первым
  • ... и т. д.

Все другие приложения, такие как Facebook, Google+ это делает

Нет, это не так. Они используют ContentResolver и:

  • openInputStream() для чтения в байтах, связанных с содержимым
  • getType(), чтобы получить тип MIME, связанный с содержимым
  • query() и OpenableColumns, чтобы получить размер и отображаемое имя, связанные с контентом
29
задан Rohit 29 July 2009 в 11:29
поделиться

5 ответов

Ранее принятый ответ:

File.SetAttributes(path, FileAttributes.Hidden);

приведет к тому, что некоторые другие атрибуты могут быть потеряны, поэтому вам следует:

File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
51
ответ дан stovroz 29 July 2009 в 11:29
поделиться
    FileInfo f = new FileInfo(myFileName);
    f.Attributes = FileAttributes.Hidden;
6
ответ дан BFree 29 July 2009 в 11:29
поделиться

Попробуйте что-то вроде этого:

FileInfo fi = new FileInfo(somefile);                
fi.Attributes = FileAttributes.Hidden;
4
ответ дан Jeremy Cron 29 July 2009 в 11:29
поделиться

FileInfo скрытые атрибуты могут быть несколько бесполезными, если в окнах пользователя настроено отображение скрытых файлов. Более целесообразно переместить файл на новый путь, особенно если пользователь на самом деле не ищет лайк C:\Program Files\Common Files или любой другой путь, который, по вашему мнению, может вызвать у пользователя меньший интерес, прежде чем скрывать файл.

3
ответ дан Lucas Trzesniewski 29 July 2009 в 11:29
поделиться
File.SetAttributes("pathToFile",FileAttributes.Hidden)
33
ответ дан Tim Cooper 29 July 2009 в 11:29
поделиться