问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何把VB.NET内部资源文件复制到磁盘上

发布网友 发布时间:2022-11-02 09:39

我来回答

1个回答

热心网友 时间:2023-10-23 06:09

可以查看附件,或则使用以下代码。应该注释的满全了。

随便建一个窗口工程,窗口代码帖入以下代码。

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 ReadCount > 0
                        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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
卡耐基的智慧大全集内容简介 会说话赢天下内容简介 卡耐基演讲与口才内容简介 商务口才训练内容简介 卡耐基金牌口才作者简介 卡耐基商务口才 作者简介 爱因斯坦的更多故事 杨柯叶谨言是什么电视 房贷和消费贷利率差别不大,但是还款金额差别挺大,都是怎么计算的... ...11月18号提现1500元、,11月25号还款1515,请问我还需要还 简单介绍一下vb.net中 IsNothing,IsDbNUll和IsNullOrEmpty 分别有什么用,和区别 VB.NET如何根据不同的if判断情况来给变量赋予不同的值? pc机、pc单片机有什么区别? 支付宝怎样交补考费科目三 做包皮包茎手术有什么注意事项 男性包皮包茎的日常护理需要注意什么 包皮包茎手术注意事项? 包皮过长的注意事项都有哪些 爱纯净官网的系统可以在线从装吗 电脑系统怎么重装啊?具体步骤,详细点啊! 绕口令三 有谁知道电脑重装系统的详细步骤! 打特盗的绕口令 打特盗绕口令精选 拉伸模具问题点及修模方法 classmate什么意思英语怎么读 恢复出厂设置会怎么样红米小米清除数据后如何恢复 朋友红米2a手机,电脑恢复出厂设置,进行中遇 停电,电脑重启,现在变砖了,现在怎么办?刷机有用吗? 红米note回复出厂设置后会怎样 伟字怎么写好看 vb.net如何判断datagridview某个单元格是不是空的 VB.NET,部分机器获取不了CPU号(高分急用) 怎么把自己的小说在qq阅读上发布 外盘期货加盟手续费怎么收收多少 价格:50元/单 氨甲苯酸片高血压患者可以服用吗? 止血芳酸氨甲苯酸片吃了四天还没止住血 交通事故垫付的钱要怎样才能要回来 第三届 地球小博士 全国地理科技大赛初中组试题中的第二部分“主观题” 兴趣部落怎么进行注销? 请问那个PDF转Word软件都有什么样的?哪个好用方便呢? 6ttttopa便携小空调是真的吗 梦见彩凤落在我家窗上 想抓的时候飞走了 后来又飞回来了 被我抓到了 这是什么意思? 梦见凤图案镶在大厅的地上 新鲜的桂花可以泡着喝吗?对身体有何好处? 中国古代的习俗有哪些? 骗取300万被判刑多少年 蜂蜜冲鸡蛋能治咳嗽吗 三星手机S4怎样解除屏幕锁 photoshop里喜马拉雅字体打不出 日产天籁后视镜自动折叠如何设置