如何将文件从文件夹加载到内存流缓冲区

时间:2011-06-01 11:22:00

标签: vb.net

我正在使用vb.net win form。我的任务是将文件夹中的文件名显示在gridview控件上。当用户点击我的UI中的进程按钮,gridview中存在的所有文件名时,相应的文件必须一个接一个地加载到内存流缓冲区,并将标题附加到文件的内容并将其保存在硬盘驱动器中,并带有_ed as文件名的后缀。

我是非常基本的程序员。我已完成以下尝试并成功将文件名显示在gridview上。但不知道以后的部分。有什么建议吗?

'将文件夹中的文件显示到gridview

    Dim inqueuePath As String = "C:\Users\Desktop\INQUEUE"
    Dim fileInfo() As String
    Dim rowint As Integer = 0
    Dim name As String
    Dim directoryInfo As New System.IO.DirectoryInfo(inqueuePath)
    fileInfo = System.IO.Directory.GetFiles(inqueuePath)

    With Gridview1
        .Columns.Add("Column 0", "FileName")
        .AutoResizeColumns()
    End With

    For Each name In fileInfo
        Gridview1.Rows.Add()
        Dim filename As String = System.IO.Path.GetFileName(name)
        Gridview1.Item(0, rowint).Value = filename
        rowint = rowint + 1
    Next

非常感谢你花了宝贵的时间阅读这篇文章。

1 个答案:

答案 0 :(得分:5)

将文件读入内存流非常简单,只需查看以下示例,您就应该能够将其转换为满足您需求的文件:

    Dim bData As Byte()
    Dim br As BinaryReader = New BinaryReader(System.IO.File.OpenRead(Path))
    bData = br.ReadBytes(br.BaseStream.Length)
    Dim ms As MemoryStream = New MemoryStream(bData, 0, bData.Length)
    ms.Write(bData, 0, bData.Length)

然后只需使用MemoryStream ms即可。只是为了清除Path,它会保存您想要读入内存流的完整路径和文件名。