C#でStreamWriterを用いてファイルを保存したいのですが、このときファイル名に日本語が含まれると
「パスに無効な文字が含まれています」とでます
C++では一旦ダミーパスで保存してからsystemでrenコマンドを送信して対処していましたが
1.そもそも日本語を含むパスを扱う方法はありますでしょうか?
2.ない場合、よい対処方法があれば教えてください
よろしくお願いします
C#
1using (StreamWriter sw1 = new StreamWriter(fileName, false, 2 System.Text.Encoding.GetEncoding("shift_jis"))) 3//fileNameが日本語を含んでいると失敗
申し訳ございません重要な事実を書き忘れていました
エクセルのセル内で改行されているものを、
C#
1fileName = wb.Cell(7, column).GetString().Replace("\n", "_").Trim(' ') + "拡張子(実際は.~という表記)"
と置き換えています
このときのfileNameが
System.IO.Path.GetDirectoryName(fileName)した結果
DIRECTORY\ファイル名.~
のように、ディレクトリとファイル名がつながってします
※改行していないセルの場合はディレクトリだけが表示される
コンソールに出力された結果を見る限り特殊文字などは見当たらないのですが、何か可能性はありますでしょうか
回答6件
あなたの回答
tips
プレビュー