当前位置:首页 > 开发 > C# > 正文内容

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

C#3年前 (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;
    }
}



转载请注明出处。

本文链接:http://pythonopen.com/?id=225

相关文章

在 C# 中实现类似于 Windows 资源管理器的“名称”排序方式

要在 C# 中实现类似于 Windows 资源管理器的“名称”排序方式,你需要考虑以下几点:1. 不...

C# 可空参数

using System; using System.Runtime.Inte...

C# BackgroundWorker的例子

以下是一个使用 BackgroundWorker 组件在 C# 中实现后台执行任务,同时在主线程更新...

C# Graphics文本抗锯齿

g.TextRenderingHint = TextRenderingHint....

C# i++和++i的区别

核心区别操作顺序            ...

C# 比较两个Image对象是否相同

方法思路基础检查:先检查空引用和图像尺寸像素格式验证:确保两个图像的像素格式相同内存锁定:使用Loc...