当前位置:首页 > 编程语言 > C# > 正文内容

C# 文件属性与转换为字节

C#2年前 (2022-10-23)
获取文件属性    
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;
    }
}



相关文章

C# CRC32算法

CRC32      class CRC32...

C# string与Hex互转

StrToHex    /// <summary>...

C# 字节与字符转换

字节转字符     Console.WriteLine(Conve...

C# 获取网页源代码

private static string GetHtml(str...

C# 获取目录大小

public static long GetDirSize(strin...