gpt4 book ai didi

c# - 在 C# 中读取随机访问文件

转载 作者:行者123 更新时间:2023-11-30 12:47:39 25 4
gpt4 key购买 nike

有谁知道是否可以在 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指定 Random 打开模式,以及 FileSystem.FileGetObject方法。这与 VB6 中的 Open 语句和 Get 关键字的行为相同。

关于c# - 在 C# 中读取随机访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16304877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com