判断文件是否文本文件还是二进制文件的两个有效方法

本文提供了一段代码,用于判断给定文件路径的文件是二进制文件还是文本文件。通过读取文件内容并分析字节,可以得出结论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        /// <summary>
        /// 判断文件是否是二进制文件
        /// </summary>
        /// http://www.xuehai.net/
        /// <param name="filePath">文件路径</param>
        /// <returns>返回True为二进制文件,否则是文本文件</returns>
        public bool IsBinaryFile(string filePath)
        {
            FileStream fs = File.OpenRead(filePath);
            int len = (int)fs.Length;
            int count = 0;
            byte[] content = new byte[len];
            int size = fs.Read(content, 0, len);

            for (int i = 0; i < size; i++)
            {
                if (content[i] == 0)
                {
                    count++;
                    if (count == 4)
                    {
                        return true;
                    }
                }
                else
                {
                    count = 0;
                }
            }
            return false;
        }

        /// <summary>
        /// 判断文件是否是文本文件
        /// </summary>
        /// http://www.xuehai.net/
        /// <param name="filePath">文件路径</param>
        /// <returns>返回True为文本文件,否则是二进制文件</returns>
        public bool IsTextFile(string filePath)
        {
            FileStream file = new System.IO.FileStream(filePath, FileMode.Open, FileAccess.Read);
            byte[] byteData = new byte[1];
            while (file.Read(byteData, 0, byteData.Length) > 0)
            {
                if (byteData[0] == 0)
                    return false;
            }
            return true;
        }

转载于:https://www.cnblogs.com/alocne/archive/2012/03/03/2377938.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值