检查流是否为空

发布于 2024-11-10 16:09:43 字数 376 浏览 1 评论 0原文

我正在尝试反序列化 XML 文件。我需要在反序列化之前检查 XML 文件流是否为空。

IsolatedStorageFileStream isfs1 = new IsolatedStorageFileStream("test.xml", 
    FileMode.Open, FileAccess.Read, isf);

// Deserialize the XML to an object
Settings s = new Settings();
SoapFormatter SF= new SoapFormatter();
s = (Settings) SF.Deserialize(isfs1); 

如何检查 isfs1 是否为空?

I am trying to deserialize a XML-file. I need to check if the XML-file stream is empty before tying to deserialize it.

IsolatedStorageFileStream isfs1 = new IsolatedStorageFileStream("test.xml", 
    FileMode.Open, FileAccess.Read, isf);

// Deserialize the XML to an object
Settings s = new Settings();
SoapFormatter SF= new SoapFormatter();
s = (Settings) SF.Deserialize(isfs1); 

How can I check if isfs1 empty or not?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

身边 2024-11-17 16:09:43

检查 Length 属性溪流。

长度表示文件中当前的字节数。

如果为 0,则文件为空。

Check the Length property of the stream.

Length represents the number of bytes currently in the file.

If it is 0, the file is empty.

蒗幽 2024-11-17 16:09:43

如果您的文件是 UTF-8 格式,由于 BOM(字节顺序标记),它的大小至少为 3。所以检查长度>即使文件为空,0 也会返回 true。

If your file is in UTF-8 format, it's size is at least 3 because of BOM(Byte Order Mark). So checking the length > 0 will return true even if your file is empty.

毁我热情 2024-11-17 16:09:43

IsolatedStorageFileStream.Length 可以吗?

if (isfs1.Length > 0) {
  // isfs1 isn't empty.
}

Would IsolatedStorageFileStream.Length work?

if (isfs1.Length > 0) {
  // isfs1 isn't empty.
}
你如我软肋 2024-11-17 16:09:43

如果构建空的 zip 存档内存流,它有 22 个字节处于空状态。

MemoryStream memoryStream = new MemoryStream();
using (ZipArchive zip = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
{
    // no content added
}
memoryStream.Length // have value of 22

If you construct empty zip archive memory stream it have 22 bytes in empty state.

MemoryStream memoryStream = new MemoryStream();
using (ZipArchive zip = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
{
    // no content added
}
memoryStream.Length // have value of 22
仅冇旳回忆 2024-11-17 16:09:43

if isfs1.Length =0 表示流为空

if isfs1.Length =0 means the stream is empty

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文