vb.net复制文件 vbnet复制文件

如何把VB.NET内部资源文件复制到磁盘上可以查看附件,或则使用以下代码 。应该注释的满全了 。
随便建一个窗口工程,窗口代码帖入以下代码 。
Imports System.IO
Imports System.Text
Imports System.Reflection
Public Class Form1
Const ResName As String = "123.txt" ' 需要保存的资源名
Const BufferSize As Integer = 4096' 复制时缓冲的大小
Private Sub Demo()
' 变量声明
Dim strDisplayText As StringBuilder ' 保存输出信息
Dim strResName As String' 保存目标资源的名称
' 变量初始化
strDisplayText = New StringBuilder()
strResName = String.Empty
' 获取所有资源
strDisplayText.AppendLine("文件中存在以下资源:")
For Each strName As String In Assembly.GetExecutingAssembly.GetManifestResourceNames()
strDisplayText.AppendLine(""strName)
' 获得目标资源的全名
If strName.EndsWith("."ResName) Then
strResName = strName
End If
Next
' 目标资源不存在
strDisplayText.AppendLine()
If strResName = String.Empty Then
strDisplayText.AppendLine("抱歉 , 没有找名为"""ResName"""的资源")
Else ' 复制资源的代码
' 打开资源文件,在End Using的时候自动关闭 。
Using ms As UnmanagedMemoryStream = Assembly.GetExecutingAssembly.GetManifestResourceStream(strResName)
' 打开磁盘文件,在End Using的时候自动关闭 。
Using fs As New FileStream("C:\"ResName, FileMode.Create)
' 变量声明
Dim Buffer(BufferSize - 1) As Byte' 复制文件时的缓冲数组
Dim ReadCount As Integer' 此次读取数据的数量
' 还有数据可以读取的情况,一直循环
ReadCount = ms.Read(Buffer, 0, BufferSize)
While ReadCount0
fs.Write(Buffer, 0, ReadCount) ' 写入到磁盘文件
ReadCount = ms.Read(Buffer, 0, BufferSize)
End While
End Using
End Using
strDisplayText.AppendLine("文件已经复制完毕 。")
End If
' 显示消息
MessageBox.Show(strDisplayText.ToString())
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Demo()
End
End Sub
End Class
VB.NET复制文件时出现的问题我也碰到过这类问题 。有解决办法 。
.net 引用Office组件操作时同步需要注意 。
你在.net端引用vb.net复制文件的Word application进行vb.net复制文件了保存动作后关闭vb.net复制文件了Word对象 。
代码运行到下一步(准备复制vb.net复制文件的代码)时其实可能Word保存并没结束或Word文档对象还没关闭 。最好的办法是列出进程列表、确定Word进程(Winword.exe)已经关闭了然后再复制 。
VB.NET2010 如何复制指定目录下按类型的所有文件到另一文件夹 复制后再删除原来的文件?这段代码的问题是:
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了 , 所以默认为查找不到文件 , 将会报错 。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除 。
VB.NET 复制文件夹,包括子文件夹 所有文件用 io.Directory.Exists 判断文件夹是否存在 。
再用My.Computer.FileSystem.CopyDirectory() 复制 。
VB.net如何复制一个文件夹下所有同名文件到另一文件夹'这是VB的要先引用Microsoft Scripting RunTime , 下面的例子是找叫cmd.xxx的文件的

推荐阅读