我正在从早些时候从VB6转换过来的一些C#代码中工作,它有很多文件I-O。遍布我看到这个地方:()“文件号码”究竟是什么?
fn = VBNET.FileSystem.FreeFile();
...其次VBNET.FileSystem.FileOpen,一些文件I-O,然后VBNET.FileSystem.FileClose()。
致电FreeFile()会生成一个“文件号”,这是打开文件所必需的。但是,什么是文件编号,当您完成后如何将它释放回系统?
http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.freefile.aspx的文档似乎没有说,但它确实表示如果“超过255个文件正在使用中”会引发异常,这意味着释放它们会是一个好主意当我完成他们。
N.B. - 我知道有更好的文件IO库可供使用,但这是我们坚持的内容,直到我们有资源重写这些东西,所以我只是想了解它。
FreeFile reuturns其可用于IO手柄文件;它类似于流,并且在表面之下可能是文件流的包装。我认为关闭与手柄/编号关联的文件会释放它 – Plutonix
从字面上看,它是一个数字。在0和255之间。在.NET中,它是一个VB6File对象数组的索引。 FileClose()再次释放数字。长期来看,你可能想用FileStream或StreamReader/Writer替换它,但这是很多工作。 –
http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.freefile(v=vs.80).aspx –