- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用一些早先从 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 库可以使用,但这是我们一直坚持的,直到我们有资源重写这些东西,所以我只想了解它。
最佳答案
那些 VB6 命令(FreeFile、FileOpen、FileClose、LOF 等)至少早在 QBasic 就存在了。我希望文件号最初是一个 MS-DOS 文件句柄。
Google 快速搜索得出以下链接:
回到 QBasic(如果没记错的话),FileOpen
命令打开文件并保留文件句柄。 FileClose
命令关闭文件并释放句柄。
FreeFile
只是一种获取未使用文件句柄的便捷方法:如果您知道您没有(例如)文件 #1 打开,那么您可以调用 OPEN "C:\DOS\RUN"FOR INPUT AS #1
而不是调用 FreeFile
。您仍会使用 CLOSE #1
我不记得在 VB6 中是否发生了变化。正如 Hans Passant 提到的,在 .NET 内部,文件号现在只是 VB6File 对象数组的索引。 FileSystem.vb
关于c# - "File Number"到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22847177/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!