2011-06-01 73 views
2

我正在使用vb.net获胜表单。我的任务是将文件夹中的文件名显示在gridview控件上。当用户点击我的用户界面中的进程按钮时,所有文件名都出现在gridview中,相应的文件必须一个接一个地加载到内存流缓冲区中,并将这些标题附加到文件内容中,并用_ed后缀为文件名。如何从文件夹加载文件到内存流缓冲区

我是非常基本的程序员。我做了以下尝试,并成功地将文件名显示在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 

非常感谢您为您花费宝贵的时间来阅读这篇文章。

+0

[这里是一个简单的例子](http://www.nonhostile.com/page-loading-file-steam-into-memory-stream.asp)如何做你需要的。有两个功能提供。如果你有一个文件名和路径,其中一个是有效的,另一个如果你已经用[File.Open()]打开了这个文件(http://msdn.microsoft.com/en-us/library/b9skfh7s的.aspx)。这不是一个理想的例子,因为它没有适当地说明错误,但显示了如何读取文件的基本知识。 – Tridus 2011-06-01 11:28:57

回答

3

到文件读入一个MemoryStream是很容易的,只要看看下面的例子,你应该能够将其转换为适合您的需要:

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毫秒为你先请。只是为了清除Path保存你想要读入你的内存流的完整路径和文件名。

相关问题