Как удалить флаг только для чтения флаг в файле в .NET и оставить остальным нетронутым?Как удалить флаг только для чтения в файле в .NET?
ответ
Разве вы не можете просто сделать:
FileInfo f = new FileInfo("yourfile.txt");
f.IsReadOnly = false;
Или я что-то отсутствует?
@Alconja - Спасибо. Я пропустил это в раскрывающемся списке Intellisense и вместо этого отправился на флаг. Это определенно легче, хотя. – 2009-12-23 21:55:47
Я хотел бы получить экземпляр FileInfo для файла, а затем установить IsReadOnly свойство ложно (согласно документации здесь: http://msdn.microsoft.com/en-us/library/system.io.fileinfo.isreadonly.aspx):
new FileInfo("path").IsReadOnly = false;
Если вы настаиваете на использовании статических GetAttributes и методы SetAttributes на файл класса, вы можете просто сделать это:
File.SetAttributes("path",
File.GetAttributes("path") & ~FileAttributes.ReadOnly);
общая картина, когда вы хотите, чтобы очистить флаг на растровом изображении, чтобы принять значение флага (в данном случае, FileAttributes.ReadOnly), инвертный он (используя оператор ~), а затем примените инвертированное значение к значению, содержащему различные флаги (в этом случае File.GetAttributes («путь»)).
@casperOne - Спасибо. Я закончил побитовое путешествие просто потому, что я не знал о флаге «IsReadOnly». – 2009-12-23 22:11:26
@roygbiv Не проблема. Рад, что это помогло (и, возможно, ответили на ваш вопрос?) – casperOne
Можете ли вы быть более конкретными? Это проблема с файлом в вашей файловой системе или только с .NET framework? – jchapa