extension - fileinfo c#
La mejor forma de hacer que un archivo sea editable en c# (3)
Dos caminos:
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
fileInfo.IsReadOnly = true/false;
o
// Careful! This will clear other file flags e.g. FileAttributes.Hidden
File.SetAttributes(filePath, FileAttributes.ReadOnly/FileAttributes.Normal);
La propiedad IsReadOnly en FileInfo básicamente hace el volteo de bits que tendrías que hacer manualmente en el segundo método.
Estoy intentando configurar el indicador que hace que la casilla de verificación Read Only
aparezca cuando hace right click / Properties
en un archivo.
¡Gracias!
Para establecer el indicador de solo lectura, lo que hace que el archivo no sea editable:
File.SetAttributes(filePath,
File.GetAttributes(filePath) | FileAttributes.ReadOnly);
Para eliminar el indicador de solo lectura, en efecto, el archivo puede escribirse:
File.SetAttributes(filePath,
File.GetAttributes(filePath) & ~FileAttributes.ReadOnly);
Para alternar la bandera de solo lectura, por lo que es lo contrario de lo que es ahora:
File.SetAttributes(filePath,
File.GetAttributes(filePath) ^ FileAttributes.ReadOnly);
Esto es básicamente máscaras de bits en efecto. Establece un bit específico para establecer el indicador de solo lectura, lo borra para eliminar el indicador.
Tenga en cuenta que el código anterior no cambiará ninguna otra propiedad del archivo. En otras palabras, si el archivo estaba oculto antes de ejecutar el código anterior, también permanecerá oculto. Si simplemente configura los atributos de archivo en .Normal
o .ReadOnly
, podría terminar perdiendo otros indicadores en el proceso.
c #:
File.SetAttributes (filePath, FileAttributes.Normal);
File.SetAttributes (filePath, FileAttributes.ReadOnly);