Javaでユニークで短いファイル名を生成する最も良い方法は何ですか?
2023-11-13 05:34:24
質問
UUIDはかなり長いので、必ずしも使いたいとは思いません。
ファイルはそのディレクトリ内で一意であればよいのです。
一つ思いつくのは
File.createTempFile(String prefix, String suffix)
を使うことも考えられますが、ファイルが一時的でないため、それは間違っているようです。
同じミリ秒に2つのファイルが作成されるケースを処理する必要があります。
どのように解決するのですか?
まあ、3引数版を使えばいいんですけどね。
File.createTempFile(String prefix, String suffix, File directory)
で、好きなところに置くことができます。 あなたが指示しない限り、Javaはそれを他のファイルと区別して扱いません。 唯一の欠点は、ファイル名が少なくとも8文字であることが保証されていることです (最低3文字のプレフィックスと、関数が生成する5文字以上の文字)。
それが長すぎる場合は、ファイル名 "a" で開始して、まだ存在しないものを見つけるまで "b", "c" などをループすることができると思います。
関連
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
アクセス制限です。タイプ 'JPEGCodec' は API ではない ☞My Blog Github ☜ ホームページを見る
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Javaクラスにおけるcanonical name、simple name、class nameの違いは何ですか?
-
[解決済み] JDKとJREの違いは何ですか?
-
[解決済み] Javaで、オブジェクトの大きさを決定する最も良い方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Collections.sortがdoubleでソートできない問題を完璧に解決する。
-
javaの非静的メソッドを静的に参照することができない
-
Junitのユニットテストはjava.lang.Testを報告します。
-
Javaがテキストファイルを読み込む
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
テストが空であるかどうかを判断するためのオプションの処理
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。