1

我目前正在制作一个需要打印到文本文件的应用程序,我无法将其移植到下面是我目前所拥有的

FileStream fs = new FileStream((@"|DataDirectory|\print" + fileName + ".txt"), FileMode.Create, FileAccess.Write);
            using (StreamWriter writer = new StreamWriter(fs))
            {
                    write.write("HelloWorld"
            }

错误出现在第一行,说我使用了无效字符,我假设这是因为 |DataDirectory| 但除此之外,我不知道如何在用户的机器上使用它?

编辑:我不再需要检查项目,但@leppie 的评论听起来像是我的代码的问题。标记的答案作为替代方案

4

2 回答 2

2

如果您正在开发桌面应用程序,请尝试以下操作:

string dir = Path.GetDirectory(Assembly.GetExecutingAssembly().Location);
string filename = Path.Combine(dir, "print", filename + ".txt");
FileStream fs = new FileStream(filename,....);
于 2012-05-29T15:00:02.520 回答
2

将第一行修改为以下内容:

var fs=new FileStream(
       string.Format(@"{0}\print\{1}.txt",
       Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
       filename),FileMode.Create,FileAccess.Write);
于 2012-05-29T15:07:32.953 回答