获取项目中文件,存放到Debug中。
说起这个,还真是费了一般功夫。
说个最简单的方法:
第一步:把需要生成到Debug中的文件放到项目中(注意:当前文件夹目录是什么样的,存放到Debug中也是什么样)

第二部:设置文件属性中
复制到输出目录(如果较新则复制:就是在内容更改后就更新,不复制:不会复制,始终复制:如果该文件需要修改,不建议选择此项)
生成操作(无,编译,内容,嵌入的资源)

第三步:已经完成了,是不是很简单。

还有个手动的方法(哈哈,有点麻烦哦!!!):
/// <summary>
/// 项目中资源文件保存到Debug
/// </summary>
/// <param name="name">保存的文件名称。比如:"文本.txt"</param>
/// <param name="path">项目下的路径。比如:".Demo.文本.txt"</param>
/// <returns>0:保存失败,1:保存成功,2:文件已存在</returns>
public int FileSaveDebug(string name, string path)
{
string strStartupPath = System.Windows.Forms.Application.StartupPath; //Debug路径
string pathsave = strStartupPath + "\\" + name; //项目名称
if (!File.Exists(pathsave))
{
try
{
string projectName = this.GetType().Assembly.GetName().Name; //项目名称
Stream stream = this.GetType().Assembly.GetManifestResourceStream(projectName + path);
using (FileStream fileStream = File.Create(pathsave))
{
const int bufferSize = ;
byte[] buffer = new byte[bufferSize];
int len;
do
{
len = stream.Read(buffer, , bufferSize);
fileStream.Write(buffer, , len);
} while (len == bufferSize);
}
return ;
}
catch (Exception ex)
{
return ;
}
}
else
{
return ;
}
}
获取项目文件内容(注意:文件属性->生成操作(必须是:嵌入的资源)):
string content = ""; //内容
Stream stream = this.GetType().Assembly.GetManifestResourceStream(this.GetType().Assembly.GetName().Name + ".Demo.文本.txt");
if (stream == null)
{
System.Windows.Forms.MessageBox.Show("读取文本失败", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("GB2312")))
{
content = reader.ReadToEnd().ToString();
}
获取项目中文件,存放到Debug中。的更多相关文章
- 【PHP】如何将SESSION数据存放到Redis中
在php中,SESSION的数据默认是存放到文件中,这样性能不仅不高,而且不利于扩展.在搭建集群后,默认存放到文件中就不适用了.所以,我们一般将SESSION自定义,让SESSION中的数据存放到 数 ...
- 乐视云监控数据存放到influxdb中
3.9 监控.告警系统 监控报警我们分PaaS平台和业务应用两大类. PaaS平台主要聚焦在基础设施和LeEngine的各个服务组件的监控报警(比如主机CPU,内存,IO,磁盘空间,LeEng ...
- 【Linux】windows下编写的脚本文件,放到Linux中无法识别格式
注意:我启动的时候遇到脚本错误 » sh startup.sh -m standalone tanghuang@bogon : command not found : command not foun ...
- Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
package com.ucap.netcheck.dao.impl; import java.util.ArrayList;import java.util.List; import org. ...
- springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息
1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...
- 将hibernate.cfg.xml文件都放到spring中时报错
报错如下所示: 私以为是配置文件出现问题了. <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- Asp.net 自定义CustomerSession 存放到Redis中
首先,引用 Redis 操作驱动组件:StackExchange.Redis.dll. 继承SessionStateStoreProviderBase 类, 实现方法: using System; u ...
- php 遍历文件夹及文件,获取文件名和文件路径存入数据库中
<?php header("Content-Type:text/html; charset=gbk"); require('../../include/connect.php ...
- byte数组怎么存放到Json中传递
可以把byte[]序列化成base64字符串后,再放json里传输就可以了.不需要考虑每个字节转成一个字符存到json字符串里. String str = Base64.encodeToString( ...
随机推荐
- unity游戏在logcat中过滤一些不需要的Log
adb logcat | grep -v "UnityEngineDebug.cpp\|:\s*$" | grep Unity 意义: 1. grep -v "过滤条件1 ...
- UI和3D场景同时都需要响应触摸事件
比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分.为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上. 以前NGUI的时候都是自己 ...
- linux命令-ssh {远程登录}
一 命令解释 命令: ssh ssh [-l login_name] [-p port] [user@]hostname
- 使用delphi+intraweb进行微信开发5—准备实现微信API,先从获取AccessToken开始
在前4讲中我们已经使iw开发的应用成功和微信进行了对接,再接下来的章节中我们开始逐一尝试和实现微信的各个API,开始前先来点准备工作 首先需要明确的是,微信的API都是通过https调用实现的,分为p ...
- VS 远程调试之 “The visual studio remote debugger does not support this edition of windows”
The error message "The visual studio remote debugger does not support this edition of windows&q ...
- 标准C++中的string类的用法总结
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...
- QTP处理各类鼠标事件fireEvent
在做web测试时,页面上的HTML标签会包含各类事件:单击(onclick).双击(onDblClick).光标聚集(OnBlur).onchange.onfocus.onmousedown.onmo ...
- C#小程序飞行棋关卡操作
飞行棋关卡操作 1.分析设计 飞行棋的基本规则为二人轮流掷骰子,则此处为循环结构,然后根据投掷出的点数进行前进<注:在每一步前进之后均应该判断是否走完了游戏>,在遇到关卡时进行相应的操作, ...
- WEBPACK开始
这是一个非常简单的例子,通过这个例子你将学习到 1.How to install webpack 2.How to use webpack 3.How to use loaders 4.How to ...
- neutron floatingip-delete