有谁知道是否有可能在C#中读取随机访问文件?
我试图在C#中复制以下函数(来自旧的VB6应用程序) –
Open File For Random Shared As #100 Len = Len(Record) Get #100,DM,Record Close #100 Public DM As Long Public Record As DMrecord Public Type DMrecord column1 As Long column2 As Integer column3 As Integer column4 As Integer column5 As String * 4 End Type
编辑 –
我现在尝试使用VisualBasic DLL,如下所示,并在FileGetobject行上收到以下错误 –
“Microsoft.VisualBasic.FileSystem.FileGetobject(int,ref object,long)的最佳重载方法匹配具有一些无效参数”
我使用的代码是 –
public class Record { public int DMtype; public long ecn; public Record(int DMtype,long ecn) { this.DMtype = DMtype; this.ecn = ecn; } public Record() { } } string fileName = @"C:\RandomAccess.dat"; string returnString = string.Empty; int row = 1; int maxRow = 1000; Record aFileRecord = new Record(); FileSystem.FileOpen(1,fileName,OpenMode.Random,OpenAccess.Read,OpenShare.LockRead); while (row < maxRow) { //Get record 2 1st.>> FileSystem.FileGetobject(1,aFileRecord,row); returnString += aFileRecord.DMtype.ToString() + "$" + aFileRecord.ecn.ToString(); row++; } FileSystem.FileClose(1);
我已经尝试将’Record’设置为结构和类,并获得相同的错误.
编辑22/08/13 – 我从来没有深究这一点,最终将随机访问数据导出到VB6中的逗号分隔文本文件,然后使用SSIS中的文件.
解决方法
只需添加对Microsoft.VisualBasic.dll的引用,并使用
FileSystem.FileOpen
指定随机打开模式和
FileSystem.FileGetObject
方法.这与VB6中的Open语句和Get关键字的行为相同.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。