c# - 如何检查文本文件是否为空c#
问题描述
如何编写 if 语句来检查我的文本文件是否为空?
下面的 if 语句不适用于我的文本文件,因为我的文件大小不为零,即使它看起来是空的,因为文本文件的编码类型是带有 BOM 的 UTF-8,所以它的大小是 3 个字节:
if (new FileInfo("file").Length == 0)
{
//Is empty
}
解决方案
似乎您想检查长度为 0的文件或长度为 3 的文件仅包含 UTF-8 BOM:
long fileLen = new FileInfo("file").Length;
if (fileLen == 0 || (fileLen == 3 && File.ReadAllBytes("file").SequenceEqual(new byte[] { 239, 187, 191 }))) {
/* Is empty */
}