私たちはWindowsサーバー上でJavaコードを長年実行してきました。いくつかのFreeBSDボックスで同じコードを実行したいのですが、ファイル/パス名が大文字と小文字を区別しない環境で長くなってしまい、コードが壊れてしまいます。大文字と小文字を区別しないファイルシステムから大文字小文字を区別するアプリケーションにJavaアプリケーションを移動
私がやってみたいことは、FileやFileSystemやそれに類するトリックをサブクラス化して、すべてのファイル名を小文字にすることです(常時)。
新しいクラスのOurFileでFileを拡張すると、すべてが小文字になります。その後、OS上のすべてのファイル/フォルダを小文字に変換するスクリプトを実行し、バム、バグを押しつぶす。
新しいFileSystem実装での同様のハッキングのようにも良い結果が得られるようです。
私は、確かに私の前の誰かがこの問題に直面し、それをうまく舐めていたと思っていました。
だから、そこに知恵はありますか?このような大文字と小文字の区別の問題を解決する簡単で標準的な方法はありますか?お使いのファイルのアクセス方法は、クラス(のようなnew File(String filename)
)の少数を通過した場合
大文字小文字の区別がない場合は、システム。試してみてください。http://www.brain-dump.org/projects/ciopfs/ – Jayan
私はciopfsを見て、私たちの目的には十分に頑丈ではないと判断しました。ZFSは大文字と小文字を区別しないオプションを持っています...うまくいきましたが、いくつかのzfsツールに問題がありました/この小さなオプションを正しくサポートしていませんでした。 – SvrGuy
しばらくの間、データをウィンドウに保存することは可能ですか?その場合は、ignore_caseを使ってウィンドウからデータをマウントし、アプリがどれくらい行くことができるかを確認してください。次にzfsのようなファイルsystmでコードを修正して、ジャーナリング、バックアップ復元などの機能が意思決定機能となる。大文字小文字の区別なし – Jayan