أفضل طريقة لجعل ملف قابل للكتابة في C#
-
05-07-2019 - |
سؤال
أحاول تعيين العلامة التي تسبب Read Only
خانة الاختيار لتظهر عندما right click \ Properties
على ملف.
شكرًا!
المحلول
وهناك طريقتان:
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
fileInfo.IsReadOnly = true/false;
أو
// Careful! This will clear other file flags e.g. FileAttributes.Hidden
File.SetAttributes(filePath, FileAttributes.ReadOnly/FileAttributes.Normal);
والخاصية IsReadOnly على FileInfo لا أساسا عملتم للقيام يدويا في الطريقة الثانية. التقليب قليلا
نصائح أخرى
ل تعيين علامة القراءة فقط، مما يجعل الملف غير قابل للكتابة:
File.SetAttributes(filePath,
File.GetAttributes(filePath) | FileAttributes.ReadOnly);
ل يزيل علامة القراءة فقط، مما يجعل الملف قابلاً للكتابة:
File.SetAttributes(filePath,
File.GetAttributes(filePath) & ~FileAttributes.ReadOnly);
ل تبديل علامة القراءة فقط، مما يجعلها عكس ما هي عليه الآن:
File.SetAttributes(filePath,
File.GetAttributes(filePath) ^ FileAttributes.ReadOnly);
هذا هو في الأساس أقنعة نقطية سارية المفعول.يمكنك تعيين بت معين لتعيين علامة للقراءة فقط، ويمكنك مسحها لإزالة العلامة.
لاحظ أن الكود أعلاه لن يغير أي خصائص أخرى للملف.بمعنى آخر، إذا كان الملف مخفيًا قبل تنفيذ التعليمات البرمجية أعلاه، فسيظل مخفيًا بعد ذلك أيضًا.إذا قمت ببساطة بتعيين سمات الملف على .Normal
أو .ReadOnly
قد ينتهي بك الأمر إلى فقدان الأعلام الأخرى في هذه العملية.
وج #:
وFile.SetAttributes (أسم دليل، FileAttributes.Normal)؛
وFile.SetAttributes (أسم دليل، FileAttributes.ReadOnly)؛