0

Java のファイル オブジェクトは、文字 en-dash '–' (unicode \u2013) をサポートしていません。en-dash 文字をハイフン '-' (unicode \u002D) に自動的に変換しています。

私はScmProvider.listメソッドを使用しています:

ListScmResult list(ScmRepository repository, ScmFileSet fileSet, 
                      boolean recursive, ScmVersion version) 

リポジトリに存在するように、fileSet の各要素 (ファイルとディレクトリ) を一覧表示します。

ファイル セットでは、アイテムの 1 つ (SCM ファイル) に、エンダッシュが通常のハイフンに置き換えられたリポジトリ アイテムがあります。

Java バージョン 1.6 を使用しています。これに関して制限はありますか?

4

1 に答える 1

1

文字が自動的に通常のハイフン(コード)にjava.io.File変換されると思いますか?少なくとも、Oracle Java 6 update35を実行している私のWindows7マシンでは、そうではありません。\u2013\u002D

次のコードを試しました。ファイル名が異なる2つのファイルを作成します。1つは長いダッシュ、もう1つは通常のダッシュです。

new File("C:\\Temp\\Hello\u2013World").createNewFile();
new File("C:\\Temp\\Hello-World").createNewFile();

したがって、何が起こっているのかは、の自動変換や制限が原因ではありませんjava.io.File

于 2012-10-17T12:23:50.857 に答える