5

Java は独自の追加の制限を課していますか。Windows (Vista まで) では、名前を含めることはできません

\ / < > ? * :

名前 (正規表現) を検証する方法を知っています。

ユーザーが入力したファイル名を検証する必要があります。

私のアプリケーションは他のプラットフォームで実行する必要はありませんが、もちろん、プラットフォームに依存しないことを好みます!

4

3 に答える 3

2

いいえ、Java では文字列リテラルで許可されていないが、ファイル システムでは許可されている任意の文字をエスケープできます。

また、Windows アプリを Mac または Unix に移植しようとする場合は、次を使用するのが最適です。

File.separator

各プラットフォームで使用する正しいファイル区切りを決定するため。

于 2008-09-15T15:18:30.820 に答える
0

を作成すると、入力された引数は、クラスnew Fileのプラットフォーム固有の実装によって正規化されます。java.io.FileSystem私が知っている Java 固有の制限はありません。

はい、常に使用しますFile.separator

于 2008-09-15T15:30:38.420 に答える
0

Java はStringUnicode で表現できるものをすべてサポートしており (途方もなく長い最大Integer.MAX_VALUEString.

もちろん、これは、基盤となるオペレーティング システムでサポートされていない名前を使用してファイルを参照しようとする可能性があることを意味します。これを行うと、ファイル参照を使用しようとすると、何らかの結果が得られますIOException...

于 2008-09-15T15:33:46.697 に答える