web-dev-qa-db-ja.com

ストリームが空かどうかの確認

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が空かどうかを確認するにはどうすればよいですか?

20
Erik

ストリームの Length プロパティを確認してください。

長さは、現在ファイルにあるバイト数を表します。

0の場合、ファイルは空です。

27
Oded

ファイルがUTF-8形式の場合、BOM(バイトオーダーマーク)のため、ファイルのサイズは少なくとも3です。したがって、長さが0より大きい場合は、ファイルが空であってもtrueを返します。

4
Bogdan

isfs1.Length = 0の場合、ストリームが空であることを意味します

1
DeveloperX

IsolatedStorageFileStream.Length は機能しますか?

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