我有一个文件夹,其中包含一些文件夹和这些文件夹中的一些文件。碰巧的是,这些文件可能是只读的,这对我来说是不可接受的。
问题是我是否必须编写代码以递归取消所有文件的只读设置?编写起来并不难,但是有什么标准的 .NET 方法可以做到吗?
我目前的解决方案:
private static void SetReadOnly( string path, bool readOnly )
{
foreach ( string directory in Directory.GetDirectories( path ) )
{
DirectoryInfo di = new DirectoryInfo( directory );
if ( readOnly )
{
di.Attributes &= FileAttributes.ReadOnly;
}
else
{
di.Attributes ^= FileAttributes.ReadOnly;
}
SetReadOnly( directory, readOnly );
}
foreach ( string file in Directory.GetFiles( path ) )
{
FileInfo fi = new FileInfo( file );
if ( readOnly )
{
fi.Attributes &= FileAttributes.ReadOnly;
}
else
{
fi.Attributes ^= FileAttributes.ReadOnly;
}
}
}