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

最初の行を次のように修正します。

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 に答える
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 に答える