2011-12-19 6 views
0

グッドデイC#モジュラスは私が30メガバイトの上にあるファイルをダウンロードしていたアプリケーションを書いています、

を数えます。私は現在ダウンロードされているバイト数を記録しています。

私の質問は:

私は等々1M、2M、3M過ぎて行くと時期を決定します。

私のロジックは次のとおりです。

int totalFileSave = 0; 
... 
... 
int bytesRead = responseStream.Read(buffer, 0, 4096); 
totalFileSave += bytesRead; 

while (bytesRead > 0) { 
    // How do I test when I hit 1M, 2M, 3M and so forth... 
    bytesRead = responseStream.Read(buffer, 0, 4096); 
    totalFileSave += bytesRead; 
} 
+2

あなたのタイトルから、あなたがこれを自分で解決するためにどのようにアイデアを持っているようです。あなたは何をしていないのですか? – Russell

+0

@Russell、私が最初に試したとき: if totalFileSave = 1049201 then totalFileSave%1000000 = 49201これは私が望んでいないものです。 – coson

答えて

0

はどのようにこのような何かについて:

private const int megaByte = 1024 * 1024; 
private int current = 0; 

while (bytesRead > 0) 
{ 
    bytesRead = responseStream.Read(buffer, 0, 4096); 
    totalFileSave += bytesRead; 

    int total = bytesRead/megaByte; 

    if (total > current) 
    { 
     current = total; 
     // you went up 1 M and are now at or greater than 'current'M 
    } 
} 
1
private const int MEGABYTE = 1024 * 1024; 

if ((bytesRead % MEGABYTE) == 0) 
{ 
    // Do something... 
} 
+1

bytesReadはいつまでに4096を超えますか? – sq33G

関連する問題

 関連する問題