Estoy tratando de establecer el indicador que hace que la casilla de verificación Read Only
aparezca cuando right click \ Properties
en un archivo.La mejor manera de hacer que un archivo se pueda escribir en C#
Gracias!
Estoy tratando de establecer el indicador que hace que la casilla de verificación Read Only
aparezca cuando right click \ Properties
en un archivo.La mejor manera de hacer que un archivo se pueda escribir en C#
Gracias!
dos maneras:
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 bit de volteo que tendría que hacer manualmente en el segundo método.
C#:
File.SetAttributes (FilePath, FileAttributes.Normal);
File.SetAttributes (filePath, FileAttributes.ReadOnly);
Para conjunto el indicador de sólo lectura, en efecto, haciendo que el archivo no se puede escribir:
File.SetAttributes(filePath,
File.GetAttributes(filePath) | FileAttributes.ReadOnly);
Para eliminar el indicador de sólo lectura, en efecto, haciendo que el archivo se puede escribir:
File.SetAttributes(filePath,
File.GetAttributes(filePath) & ~FileAttributes.ReadOnly);
Para alternar el indicador de sólo 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
, puede terminar perdiendo otros indicadores en el proceso.
imho este es el mejor método. – Kevin
¿Está tratando de hacer que el archivo sea de solo lectura, según su pregunta, o de escritura (no solo de lectura), según el título de su pregunta? –
Este es un problema complicado en sistemas operativos basados en Win2k. Existe el atributo de solo lectura que puede proporcionar a un archivo, y también existe el permiso de escritura que se otorga a través de la pestaña "Permisos". El primero es solo una sugerencia, mientras que el último es implementado por el sistema operativo. – Armentage
@Armentage No creo que sea tan complicado. Hay una clara distinción entre los indicadores de archivos y los conjuntos de permisos NTFS, y esta pregunta trata claramente del primer caso. –