为什么我得到这个文件I/O异常
本文关键字:异常 文件 为什么 | 更新日期: 2023-09-27 17:58:55
我正在处理从Visual Basic 6机器翻译到C#的代码。我正在尝试打开一个文件并读取其中的内容。这是一个简单、短的156字节文本文件,strPath中的路径是正确的,文件可以很容易地在文本编辑器中打开
ffNum = VBNET.FileSystem.FreeFile();
VBNET.FileSystem.FileOpen(ffNum, strPath, VBNET.OpenMode.Input,
VBNET.OpenAccess.Default, VBNET.OpenShare.Default, -1);
int nSize = (int)VBNET.FileSystem.LOF(ffNum);
String thedata = VBNET.FileSystem.InputString(nSize, ffNum);
VBNET.FileSystem.FileClose(new int[] { ffNum });
InputString(倒数第二行)正在抛出IOException"错误的文件名或编号"
怎么可能呢?FileOpen调用没有引发异常,LOF也没有,而且它返回了正确的大小。
提前感谢!
看起来这些参数是错误的。来自文件:
Public Shared Function InputString ( _
FileNumber As Integer, _
CharCount As Integer _
) As String
注意FileNumber
是第一个参数,CharCount
是第二个参数。
所以看起来应该是:
String thedata = VBNET.FileSystem.InputString(ffNum, nSize);
也就是说,我会尽量完全避免这种代码,并使用类似File.ReadAllText
的东西:)