2012-03-05 89 views
1

があるが、私は(ローカルディスク上の)一連の操作をした:###する"IOException:ディスクに十分な領域がありません。"十分なスペース

  1. コピーファイルを
  2. 削除ファイルを### ###する
  3. 保存ファイルをBAK。 BAK

コード::私は例外を持っ削除中に

File.Copy(filename, filename + ".bak"); 
TextWriter writer = new StreamWriter(filename); 
writer.Write(content); 
writer.Close(); 
File.Delete(filename + ".bak"); 
IOException: There is not enough space on the disk. 
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) 

両方のファイルのサイズは最大数MBです。そして私はチェックしました - ディスクに十分な空き容量があります(数GB以上)。 そのような状況にはどのような原因が考えられますか?

管理者アカウントでOSドライブで実行されているデスクトップアプリケーション(WPF)です。

+0

コードを教えてください。方法を使用してファイルを削除しますか? 'System.IO.File.Delete'? – themarcuz

+0

コードが転記されます。はい、私は 'System.IO.File.Delete'を使用しました – 0xddr

+0

許可の例外をチェックすることをお勧めします。 –

答えて

0

この操作は、OSとは異なるハードドライブで行っていますか? ドライブDに空き容量があるかもしれませんが、実際にはリサイクルビンに移動しているファイルを削除するとCドライブになります。 これを確認してください...

+0

ドライブごとに別々の "ごみ箱"フォルダ( "RECYCLER"ルートディレクトリ)はありませんか?私はそうだ。しかし、関係なく、 'File.Delete'はごみ箱をまったく使用しません。 –

+0

私は、彼がプリントアウトした痕跡のトレースのためにごみ箱を使用していると思っていました... System.IO.File.InternalCopy(String sourceFileName、String destFileName、Boolean overwrite)の3行目 ''ファイルをごみ箱... – themarcuz

+0

まあ、そうかもしれないが、私はそれを疑う。 RecycleBinのものは内部的にコピーを行い、 'File.Delete'によって使用されるはずですが、.NETの内部では実行されることはありませんが、OS /シェルの内部に存在する可能性は低いからです。また、スタックは実際の 'File。コピーは私にはるかにそうであるようです:-) –

0

ディスククォータを使用していますか?はいの場合は、サーバが故障した可能性があります。その時点で、そのアカウントは大量のディスクを使用していました。

+0

いいえデスクトップアプリです。 – 0xddr

関連する問題