获取文件属性
FileInfo fileInfo = new FileInfo(@"C:\新建文本文档.txt");
Console.WriteLine(fileInfo.Attributes);
Console.Read();
转为字节
/// <summary>
/// 文件属性转为字节,长度1
/// </summary>
/// <param name="fileAttributes"></param>
/// <returns></returns>
public static byte fileAttributesTobyte(FileAttributes fileAttributes)
{
switch (fileAttributes)
{
case FileAttributes.ReadOnly:
return (byte)1;
case FileAttributes.Hidden:
return (byte)2;
case FileAttributes.System:
return (byte)3;
case FileAttributes.Directory:
return (byte)4;
case FileAttributes.Archive:
return (byte)5;
case FileAttributes.Device:
return (byte)6;
case FileAttributes.Normal:
return (byte)7;
case FileAttributes.Temporary:
return (byte)8;
case FileAttributes.SparseFile:
return (byte)9;
case FileAttributes.ReparsePoint:
return (byte)10;
case FileAttributes.Compressed:
return (byte)11;
case FileAttributes.Offline:
return (byte)12;
case FileAttributes.NotContentIndexed:
return (byte)13;
case FileAttributes.Encrypted:
return (byte)14;
case FileAttributes.IntegrityStream:
return (byte)15;
case FileAttributes.NoScrubData:
return (byte)16;
default:
return (byte)0;
}
}
转回FileAttributes
/// <summary>
/// byte转为对应顺序的FileAttributes
/// </summary>
/// <param name="by"></param>
/// <returns></returns>
public static FileAttributes byteToFileAttributes(byte by)
{
switch (by)
{
case 1:
return FileAttributes.ReadOnly;
case 2:
return FileAttributes.Hidden;
case 3:
return FileAttributes.System;
case 4:
return FileAttributes.Directory;
case 5:
return FileAttributes.Archive;
case 6:
return FileAttributes.Device;
case 7:
return FileAttributes.Normal;
case 8:
return FileAttributes.Temporary;
case 9:
return FileAttributes.SparseFile;
case 10:
return FileAttributes.ReparsePoint;
case 11:
return FileAttributes.Compressed;
case 12:
return FileAttributes.Offline;
case 13:
return FileAttributes.NotContentIndexed;
case 14:
return FileAttributes.Encrypted;
case 15:
return FileAttributes.IntegrityStream;
case 16:
return FileAttributes.NoScrubData;
default:
return FileAttributes.Normal;
}
}