我正在尝试反序列化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
是否为空?
答案 0 :(得分:27)
答案 1 :(得分:4)
如果您的文件是UTF-8格式,由于BOM(字节顺序标记),它的大小至少为3。所以检查长度>即使您的文件为空,0也将返回true。
答案 2 :(得分:1)
如果isfs1.Length = 0表示流为空
答案 3 :(得分:0)
IsolatedStorageFileStream.Length会有效吗?
if (isfs1.Length > 0) {
// isfs1 isn't empty.
}
答案 4 :(得分:0)
如果你构造空的 zip 存档内存流,它有 22 个字节处于空状态。
MemoryStream memoryStream = new MemoryStream();
using (ZipArchive zip = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
{
// no content added
}
memoryStream.Length // have value of 22