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
が空かどうかを確認するにはどうすればよいですか?
ファイルがUTF-8形式の場合、BOM(バイトオーダーマーク)のため、ファイルのサイズは少なくとも3です。したがって、長さが0より大きい場合は、ファイルが空であってもtrueを返します。
isfs1.Length = 0の場合、ストリームが空であることを意味します
IsolatedStorageFileStream.Length は機能しますか?
if (isfs1.Length > 0) {
// isfs1 isn't empty.
}