2016-04-14 5 views
0

このコード行を使用して、sourcePathからdestinationPathにファイルをコピーします。.NET 4のSystem.IO.File.CopyとUnicodeファイル名のコピー

System.IO.File.Copy(sourcePath、destinationPath);

私のdestinationPathにユニコード文字が含まれている場合、それは他の文字に置き換えられます。例えば、私のパスがある場合:

/Övrigt/År2016.doc

私は私のディスクにコピー/Ívrigt/+r2016.docを取得します。この問題を処理する方法はありますか?

ありがとうございました。

答えて

1

私はあなたが持った問題を再作成しようとしましたが、私はできないのです。私はあなたが.Net 4.0で提供したのと同じようなものを使用していました:

System.IO.File.Copy( "C:/temp/Övrigt/År2016.doc"、 "C:/temp/wwvrigt/År2016.doc" ");正しい位置で期待どおり

これは私に正しいファイルを与えました。彼らはCopyメソッドに渡される前に、

あなたはsourcePathはやdestinationPathを使って何をやっているでしょうか?これらの変数はどこでどのように決定されていますか?

問題についてさらに情報を提供できますか?

ありがとうございました。

+0

私もこれを試してみたし、問題 –

+0

ああを再現することができませんでした!問題が解決しました!私は+を使って2つの文字列からdestinationPathを作成していました。今私は代わりにstring.Formatを使用し、今正しく動作します。 @Declanのヒントをありがとう! :) – LonelyDeveloper

関連する問題