当前位置: 首页 > news >正文

c# 释放所有嵌入资源, 到某个本地文件夹

版本号

.net 8

代码

using System.Reflection;namespace Demo;internal class Program
{static void Main(string[] args){// 获取当前 执行exe 的目录 / 当前命令行所在的目录    	var currentDir = Directory.GetCurrentDirectory();Console.WriteLine(currentDir);ExtractAllFile(currentDir);Console.WriteLine("文件释放结束");}// 把嵌入资源按照 原路径 输出到某个本地文件夹// 嵌入资源的名称可以用 dnSpy 查看..// string outDirPath = "E:\work"// Demo.public.abc.png -> E:\work\public\abc.png// Demo.abc.png -> E:\work\abc.pngstatic void ExtractAllFile(string outDirPath){var assembly = Assembly.GetExecutingAssembly();// 获取所有嵌入的文件// 格式:命名空间.文件夹.文件名 // Demo.public.abc.pngvar names = assembly.GetManifestResourceNames();foreach (var name in names){// 读取嵌入的文件 streamvar streamData = assembly.GetManifestResourceStream(name);if (streamData is not null){var resourcePathArr = name.Split('.');// 文件夹完整地址var dirPathArr = resourcePathArr[1..^2];var dirPath = Path.Combine(outDirPath, Path.Combine(dirPathArr));// 文件名+扩展名 (abc.png)var fileNameArr = resourcePathArr[^2..];var fileName = string.Join(".", fileNameArr);if (!Directory.Exists(dirPath)){// 创建文件夹Directory.CreateDirectory(dirPath);}using var inStream = new BufferedStream(streamData);// 创建/覆盖 文件using var outStream = new FileStream(Path.Combine(dirPath, fileName), FileMode.Create, FileAccess.Write);byte[] buffer = new byte[1024];int length;while ((length = inStream.Read(buffer, 0, buffer.Length)) > 0){outStream.Write(buffer, 0, length);}outStream.Flush();}}}}

相关文章:

c# 释放所有嵌入资源, 到某个本地文件夹

版本号 .net 8 代码 using System.Reflection;namespace Demo;internal class Program {static void Main(string[] args){// 获取当前 执行exe 的目录 / 当前命令行所在的目录 var currentDir Directory.GetCurrentDirectory();Console.WriteLine(currentDir);Extract…...

Unity SnapScrollRect 滚动 匹配 列表 整页

展示效果 原理: 当停止滑动时 判断Contet的horizontalNormalizedPosition 与子Item的缓存值 相减,并得到最小值,然后将Content horizontalNormalizedPosition滚动过去 使用方式: 直接将脚本挂到ScrollRect上 注意:在创建Content子物体时…...

网络命令ping和telnet

1. 请解释ping和telnet的工作原理。 ping和telnet是两种常用的网络工具,其工作原理分别如下: ping: 目的:ping主要用于检查网络是否通畅以及测量网络连接速度。工作原理:ping是基于ICMP(Internet Control …...

ros2学习笔记-CLI工具,记录命令对应操作。

目录 环境变量turtlesim和rqt以初始状态打开rqt node启动节点查看节点列表查看节点更多信息命令行参数 --ros-args topic话题列表话题类型话题列表,附加话题类型根据类型查找话题名查看话题发布的数据查看话题的详细信息查看类型的详细信息给话题发布消息&#xff0…...

自然语言处理的发展

自然语言处理的发展大致经历了四个阶段:萌芽期、快速发展期、低谷的发展期和复苏融合期。 萌芽期(1956年以前):这个阶段可以看作自然语言处理的基础研究阶段。人类文明经过了几千年的发展,积累了大量的数学、语言学和…...

flink operator 拉取阿里云私有镜像(其他私有类似)

创建 k8s secret kubectl --namespace flink create secret docker-registry aliyun-docker-registry --docker-serverregistry.cn-shenzhen.aliyuncs.com --docker-usernameops_acr1060896234 --docker-passwordpasswd --docker-emailDOCKER_EMAIL注意命名空间指定你使用的 我…...

C语言算法赛——蓝桥杯(省赛试题)

一、十四届C/C程序设计C组试题 十四届程序C组试题A#include <stdio.h> int main() {long long sum 0;int n 20230408;int i 0;// 累加从1到n的所有整数for (i 1; i < n; i){sum i;}// 输出结果printf("%lld\n", sum);return 0; }//十四届程序C组试题B…...

【文本到上下文 #2】:NLP 的数据预处理步骤

一、说明 欢迎阅读此文&#xff0c;NLP 爱好者&#xff01;当我们继续探索自然语言处理 (NLP) 的广阔前景时&#xff0c;我们已经在最初的博客中探讨了它的历史、应用和挑战。今天&#xff0c;我们更深入地探讨 NLP 的核心——数据预处理的复杂世界。 这篇文章是我们的“完整 N…...

Minio文件分片上传实现

资源准备 MacM1Pro 安装Parallels19.1.0请参考 https://blog.csdn.net/qq_41594280/article/details/135420241 MacM1Pro Parallels安装CentOS7.9请参考 https://blog.csdn.net/qq_41594280/article/details/135420461 部署Minio和整合SpringBoot请参考 https://blog.csdn.net/…...

C语言总结十一:自定义类型:结构体、枚举、联合(共用体)

本篇博客详细介绍C语言最后的三种自定义类型&#xff0c;它们分别有着各自的特点和应用场景&#xff0c;重点在于理解这三种自定义类型的声明方式和使用&#xff0c;以及各自的特点&#xff0c;最后重点掌握该章节常考的考点&#xff0c;如&#xff1a;结构体内存对齐问题&…...

解决Spring Boot应用打包后文件访问问题

在Spring Boot项目的开发过程中&#xff0c;一个常见的挑战是如何有效地访问和操作资源文件。这一挑战尤其显著当应用从IDE环境&#xff08;如IntelliJ IDEA&#xff09;迁移到被打包成JAR文件后的生产环境。开发者经常遇到的问题是&#xff0c;在IDE中运行正常的代码&#xff…...

循环神经网络的变体模型-LSTM、GRU

一.LSTM&#xff08;长短时记忆网络&#xff09; 1.1基本介绍 长短时记忆网络&#xff08;Long Short-Term Memory&#xff0c;LSTM&#xff09;是一种深度学习模型&#xff0c;属于循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;的一种变体。…...

视频图像的color range简介

介绍 研究FFmpeg发现&#xff0c;在avcodec.h中有关于color的解释&#xff0c;主要有四个属性&#xff0c;primaries、transfer、space和range。 color primaries&#xff1a; 基于RGB空间对应的绝对颜色XYZ的变换&#xff0c;决定了最终三原色RGB分别是什么颜色&#xff1b;…...

tcp的三次握手

http 和 https 都是是基于 TCP 的请求&#xff0c;https 是 http 加上 tls 连接。TCP 是面向连接的协议。 对于 http1.1 协议chrome 限制在同一个域名下最多可以建立 6 个 tcp 连接&#xff0c;所以如果在同一个域名下&#xff0c;同时有超过 6 个请求发生&#xff0c;那么多余…...

unity 矩阵探究

public void MatrixTest1(){ ///Matrix4x4 是列矩阵&#xff0c;就是一个vector4表示一列&#xff0c;所以在c#中矩阵和Vector4只能矩阵右乘坐标。但是在shader中是矩阵左乘坐标&#xff0c;所以在shader中是行矩阵 Matrix4x4 moveMatrix1 new Matrix4x4(new Vector4(1,0,0,0)…...

MySQL---单表查询综合练习

创建emp表 CREATE TABLE emp( empno INT(4) NOT NULL COMMENT 员工编号, ename VARCHAR(10) COMMENT 员工名字, job VARCHAR(10) COMMENT 职位, mgr INT(4) COMMENT 上司, hiredate DATE COMMENT 入职时间, sal INT(7) COMMENT 基本工资, comm INT(7) COMMENT 补贴, deptno INT…...

Python项目——搞怪小程序(PySide6+Pyinstaller)

1、介绍 使用python编写一个小程序&#xff0c;回答你是猪吗。 点击“是”提交&#xff0c;弹窗并退出。 点击“不是”提交&#xff0c;等待5秒&#xff0c;重新选择。 并且隐藏了关闭按钮。 2、实现 新建一个项目。 2.1、设计UI 使用Qt designer设计一个UI界面&#xff0c…...

MySQL练习题

参考&#xff1a;https://blog.csdn.net/paul0127/article/details/82529216 数据表介绍 --1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CId,Cname,TId) --CId 课程编号,Cname 课程名称,TId 教师编号…...

vue-项目打包、配置路由懒加载

1. 简介 在现代前端开发中&#xff0c;Vue.js因其简洁、灵活和高效的特点&#xff0c;已经成为许多开发者的首选框架。 在Vue项目中&#xff0c;打包部署和路由懒加载是两个非常重要的环节。 打包Vue项目是为了将源代码转换为浏览器可以解析的JavaScript文件&#xff0c;以便…...

词语的魔力:语言在我们生活中的艺术与影响

Words That Move Mountains: The Art and Impact of Language in Our Lives 词语的魔力&#xff1a;语言在我们生活中的艺术与影响 Hello there, wonderful people! Today, I’d like to gab about the magical essence of language that’s more than just a chatty tool in o…...

VK视频下载终极指南:3种方法轻松保存珍贵回忆

VK视频下载终极指南&#xff1a;3种方法轻松保存珍贵回忆 【免费下载链接】VK-Video-Downloader Скачивайте видео с сайта ВКонтакте в желаемом качестве 项目地址: https://gitcode.com/gh_mirrors/vk/VK-Video-Downloade…...

使用Nodejs与Taotoken构建稳定可靠的AI对话服务后端

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用Nodejs与Taotoken构建稳定可靠的AI对话服务后端 在构建集成AI能力的后端服务时&#xff0c;开发者常常面临模型选择、API稳定性…...

爬虫进阶:如何用ProxyPool代理池+随机UA绕过掌上高考的反爬?保姆级避坑指南

数据采集实战&#xff1a;构建高隐蔽性教育信息采集系统的关键技术解析 教育数据采集领域近年来呈现出明显的技术对抗态势&#xff0c;平台方不断升级防御机制&#xff0c;而数据采集方则需要持续优化技术手段。本文将系统性地介绍构建高隐蔽性教育信息采集系统的完整技术方案&…...

别再死记硬背公式了!用大白话和动图拆解Transformer的注意力机制

用生活场景拆解Transformer&#xff1a;注意力机制就像一场高效会议 想象你正在主持一场跨国团队会议&#xff0c;成员们用不同语言讨论项目进展。作为主持人&#xff0c;你需要快速捕捉每个人的发言重点&#xff0c;判断谁的意见最关键&#xff0c;并协调不同观点之间的关系—…...

储能BMS HiL测试:原理、价值与工程实践全解析

1. 储能BMS HiL测试&#xff1a;为什么它是研发验证的“必选项”&#xff1f;在储能系统&#xff0c;尤其是大规模电池储能电站的研发过程中&#xff0c;电池管理系统&#xff08;BMS&#xff09;的可靠性与安全性是决定整个项目成败的基石。然而&#xff0c;传统的BMS测试方法…...

Slide离线阅读功能详解:随时随地浏览Reddit内容的完整教程

Slide离线阅读功能详解&#xff1a;随时随地浏览Reddit内容的完整教程 【免费下载链接】Slide Slide is an open-source, ad-free Reddit browser for Android. 项目地址: https://gitcode.com/gh_mirrors/sl/Slide 你是否经常在地铁、飞机或网络信号不佳的地方想要浏览…...

集成测试实战

软件测试理论&#xff1a;https://blog.csdn.net/2402_88266590/article/details/160966638?spm1011.2415.3001.5331 单元测试实战&#xff1a;https://blog.csdn.net/2402_88266590/article/details/161017518?spm1001.2014.3001.5502 下面就开始进入集成测试的学习吧&…...

SPI接口技术解析与Keil开发实践指南

1. SPI接口技术解析与应用指南作为一名嵌入式开发工程师&#xff0c;我经常需要与各种外设进行通信&#xff0c;而SPI&#xff08;Serial Peripheral Interface&#xff09;无疑是最常用的串行通信协议之一。今天我想分享一些关于SPI接口的实用知识和资源&#xff0c;这些内容来…...

终极CAD数据解放方案:深度解析LibreDWG开源DWG转换工具实战指南

终极CAD数据解放方案&#xff1a;深度解析LibreDWG开源DWG转换工具实战指南 【免费下载链接】libredwg Official mirror of libredwg. With CI hooks and nightly releases. PRs ok 项目地址: https://gitcode.com/gh_mirrors/li/libredwg 在当今数字化设计时代&#xf…...

一眼看懂、一秒做对

在很多传统工厂里&#xff0c;管理者常会面临这样的困扰&#xff1a;现场物料堆积混乱、设备状态没人说得清、新员工培训周期长、同样的安全事故反复发生……问题往往不是员工“不努力”&#xff0c;而是信息没有直观、及时地传递到位。这正是工厂目视化管理&#xff08;Visual…...