2016-04-14 9 views
0

Ich benutze diese Codezeile, um eine Datei von sourcePath nach destinationPath zu kopieren..NET 4 System.IO.File.Copy und Codierung von Unicode-Dateinamen

System.IO.File.Copy (Quellpfad, Zielpfad);

Es funktioniert perfekt, aber wenn mein Zielpfad Unicode-Zeichen enthält, erhalte ich sie durch andere Zeichen ersetzt. Zum Beispiel, wenn mein Weg ist:

/Övrigt/År2016.doc

ich /Ívrigt/+r2016.doc auf meiner Festplatte kopiert bekommen. Gibt es eine Möglichkeit, mit diesem Problem umzugehen?

Danke.

Antwort

1

Ich habe versucht, das Problem neu zu erstellen, das Sie hatten, aber ich kann nicht. Ich verwendete die folgenden ähnlich wie Sie in .Net 4.0:

System.IO.File.Copy ("C: /temp/Övrigt/År2016.doc", "C: /temp/Ívrigt/аr2016.doc ");

Dies gab mir die richtigen Dateien wie erwartet an den richtigen Stellen.

Möchten Sie irgendetwas mit dem sourcePath oder destinationPath machen, bevor sie in die Copy-Methode übernommen werden? Wo und wie werden diese Variablen ermittelt?

Können Sie dem Problem weitere Informationen geben?

Danke.

+0

Ich habe das auch versucht und konnte das Problem nicht reproduzieren –

+0

Oh! Problem gelöst! Ich habe + verwendet, um den Zielpfad aus zwei Strings zu erstellen. Jetzt benutze ich stattdessen string.Format und es funktioniert jetzt korrekt. Danke für den Hinweis @Declan! :) – LonelyDeveloper