2

私はイタリアのユーザーであり、次のディレクトリがあります。

  • Utenti(ユーザーとして)
  • Immagini(写真として)
  • 等..

これで、Windows SDK DSearch APIを使用してファイルを検索すると、次のパスが表示されます。

C:\ Utenti \\ myfile.txt

そして私が呼び出すとき:

FileInfo file = new FileInfo(@"C:\Utenti\<User>\myfile.txt");

フィールドfile.Lengthは例外(FileNotFound)をスローします。しかし、私が使用する場合:

FileInfo file = new FileInfo(@"C:\Users\<User>\myfile.txt");

file.Lengthは正しく機能します。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

4

Environment.GetFolderPath(Environment.SpecialFolder....)); 必要なフォルダを取得するために使用します。

ローカライズされたパスを別の場所から取得した場合は、次の質問を参照して、ローカライズされた実際の特別なフォルダとの照合を試みることができます 。実際の(ローカライズされた)フォルダ名を取得するにはどうすればよいですか? 基本的に、このツアーでは、 SHGetLocalizedName関数を使用(相互運用)します。

于 2011-07-04T09:34:15.197 に答える
2

よく知られているフォルダ名とファイル名は、UIレベルでのみローカライズされています。コードから正しい名前でアクセスする必要があります。

多分Environment.SpecialFolder列挙型はあなたを助けるでしょう。

于 2011-07-04T09:34:17.120 に答える