接收数据流,写到本地,当磁盘满了,会出现System.IO.IOException: 磁盘空间不足。
at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)我在finally里已经close了,可惜他不能close,文件一直被占用。
请问如何才能释放掉。
at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)我在finally里已经close了,可惜他不能close,文件一直被占用。
请问如何才能释放掉。
解决方案 »
- [新手求助啊]winform调用C++编写的ocx控件, 报错"非选择性的参数"
- C# winform datagridview 列标题列能承载控件吗
- DataView 过滤问题
- 我有如下的xml文件,如何将含指定子节点的所有<Book >元素节点删除?
- 请教一个问题
- 关于控制台应用程序的输入参数问题,急
- 急!请问:如何在C#程序中加载图表控件?
- 这个怎么译成中文的
- 学习.NET有没有前途呀??
- DOWN 了 DirectX 9 SDK for C# 装上后未能找到引用的组件“Microsoft.DirectX.Direct3D”。。。。
- 停止等待协议编程 c#
- Sql Server 2005里面如何用C#写存储过程?
比较麻烦
最好是在写入的时候检查一下所剩空间是不是比文件大
如果小就不写了
但调试时,会弹出警告框:未处理的“System.IO.IOException”类型的异常出现在 mscorlib.dll 中。
其他信息: 磁盘空间不足。虽然看上去这些都已经关闭并且catch了,但其实他还占用着,奇怪,不知道是
不是.net1.1的问题。我这个环境不能取磁盘剩余大小,因为每个用户是使用磁盘限额限制大小的。郁闷。
using System.IO;class Test
{
public static void Main()
{
DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives)
{
Console.WriteLine("Drive {0}", d.Name);
Console.WriteLine(" File type: {0}", d.DriveType);
if (d.IsReady == true)
{
Console.WriteLine(" Volume label: {0}", d.VolumeLabel);
Console.WriteLine(" File system: {0}", d.DriveFormat);
Console.WriteLine(
" Available space to current user:{0, 15} bytes",
d.AvailableFreeSpace); Console.WriteLine(
" Total available space: {0, 15} bytes",
d.TotalFreeSpace); Console.WriteLine(
" Total size of drive: {0, 15} bytes ",
d.TotalSize);
}
}
}
}