2011-06-01 74 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保存你想要讀入你的內存流的完整路徑和文件名。

相關問題