2011-07-18 6 views
1

フォルダパスをとり、何らかの操作を実行するアプリケーションを作成しました。しかし、フォルダパスに英語以外の言語の文字が含まれている場合、それは動作しません。英語の文字のみをサポートします。この問題をどのように処理するのですか?ファイル/フォルダパスで異なる言語を扱う方法

+1

少なくとも例外スタックトレースを提供します。 –

+0

私はパスをとってパスが存在するかどうかチェックしますか?パスを与えるその時間は間違っています。私は "exist()"メソッドでチェックします – Ashish

答えて

1

理論的にはうまくいくはずです。実際にはほとんどの場合、シェルからjavaアプリケーションにパラメータを渡すのが問題です。これが正しく動作することを確認してください:コマンドプロンプトからリモートデバッグを使用してアプリケーションを実行します。パラメータを読み取っているコードにブレークポイントを作成し、値が何であるかを確認します。私はこの段階で値が壊れていると信じています。これは典型的な問題です。

この場合、コマンドプロンプトでUnicode文字を正しくサポートするようにシステムを設定する必要があります。

パスがコマンドラインから正しく読み取られた場合は、デバッグを続行し、どこが壊れているかを確認してください。使用しているセパレータを確認してください。 /と\の両方を使用しないでください。代わりにFile.separatorを使用してください。

+0

パスを見つけることができません。実際のパスは「D:/ local /ασηιση」ですが、これをツールで取得すると、これを「D:/ local/??????」に変換します – Ashish

関連する問題