MSDN例子:
示例
下面的示例通过将 Archive 和 Hidden 属性应用于文件,演示了 GetAttributes 和 SetAttributes 方法。
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @"c:/temp/MyTest.txt";
// Delete the file if it exists.
if (!File.Exists(path))
{
File.Create(path);
}
if ((File.GetAttributes(path) & FileAttributes.Hidden) == FileAttributes.Hidden)
{
// Show the file.
File.SetAttributes(path, FileAttributes.Archive);
Console.WriteLine("The {0} file is no longer hidden.", path);
}
else
{
// Hide the file.
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
Console.WriteLine("The {0} file is now hidden.", path);
}
}
}
拓展例子:可在保留其它属性情况下显示或隐藏文件
using System;
using System.IO;
using System.Text;
namespace setAttributes
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
string path = @"c:/temp/test.txt";
if ( !File.Exists(path))
{
File.Create(path);
}
if ( (File.GetAttributes(path) & FileAttributes.Hidden) == FileAttributes.Hidden )
{
//show files
File.SetAttributes(path,(FileAttributes)(Convert.ToInt32(File.GetAttributes(path))-Convert.ToInt32(FileAttributes.Hidden)));
Console.WriteLine("The {0} file is no longer hidden.", path);
}
else
{
//hidden files
File.SetAttributes(path,File.GetAttributes(path) | FileAttributes.Hidden);
Console.WriteLine("The {0} file is hidden.",path);
}
}
}
}
心得:FileAttributes枚举属性可按int格式进行运算