将文件加载到内存流缓冲区然后修改并将其保存回硬盘驱动器

时间:2011-06-01 12:13:31

标签: .net asp.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 :(得分:2)

您可以使用StreamWriter轻松写入文件。无需先将文件内容放入MemoryStream。但是在打开文件后不要忘记Seek到文件的末尾,否则你将覆盖文件开头的内容。

这样的事情:

File.Copy(filename, newFilename)

Using writer = New StreamWriter(newFilename)
    writer.BaseStream.Seek(0, SeekOrigin.[End])
    writer.Write(filename)
End Using

尝试自己修复示例代码中的任何错误...它可以帮助您理解代码。