便携式流编写器c#

时间:2012-05-29 14:55:25

标签: c# portability streamwriter

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

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

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

提前致谢

2 个答案:

答案 0 :(得分:2)

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

var fs=new FileStream(
       string.Format(@"{0}\print\{1}.txt",
       Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
       filename),FileMode.Create,FileAccess.Write);

答案 1 :(得分:1)

如果您正在开发桌面应用,请尝试使用:

string dir = Path.GetDirectory(Assembly.GetExecutingAssembly().Location);
string filename = Path.Combine(dir, "print", filename + ".txt");
FileStream fs = new FileStream(filename,....);