检查一个文件是否存在,以及它是否没有从嵌入的资源中创建它
我不知道为什么我无法得到这个工作,我发现很多谷歌的答案,但没有一个似乎适用于我。检查一个文件是否存在,以及它是否没有从嵌入的资源中创建它
我的程序在运行时需要一个名为“wordlist.txt”的磁盘上的文件,与可执行文件位于同一目录中。所以,我在我的构造函数代码,以检查它是否存在,如果不从嵌入的资源
public Form1()
{
InitializeComponent();
if (!File.Exists("wordlist.txt"))
{
byte[] ba = File.ReadAllBytes(Properties.Resources.wordlist);
File.WriteAllBytes("wordlist.txt", ba);
}
}
它告诉我,我有非法字符在我的道路,虽然在逃避它来创建它。
我想你的存储默认单词列表作为一种资源。如果你是,你可能需要类似的东西,
if (!File.Exists("wordlist.txt"))
{
File.WriteAllText("wordlist.txt", Properties.Resources.wordlist);
}
lol。太简单。谢谢。 – 2012-02-01 01:05:20
你有没有试过使用完整路径像@“c:\ worldlist.txt”而不是文件名?
这不会导致路径异常,但非法字符。 – 2012-02-01 00:49:14
事情是我不知道名字的路径。它是一个便携式的exe文件,我必须将.txt文件放在用户运行exe的任何地方 – 2012-02-01 00:53:42
你可以得到可执行文件的路径 – c0deNinja 2012-02-01 00:54:10
'Properties.Resources.wordlist'的值是什么? 'File.ReadAllBytes'接受一个文件名作为它的第一个参数。 – 2012-02-01 00:47:40
wordlist只是一个.txt文件,我已经添加为一个emberred资源。它通过语法检查,如果我输入“byte [] ba = File.ReadAllBytes(Properties.Resources.wordlist);”它不 – 2012-02-01 00:51:56
你可能在寻找类似这个相关问题的答案:http://stackoverflow.com/questions/3314140/how-to-read-embedded-resource-text-file – 2012-02-01 00:54:04