[解決済み] Java で、ファイルを作成しようとせずに、パスが有効かどうかを判断する方法はありますか?
2023-05-06 06:58:04
質問
ユーザが提供した文字列が有効なファイルパスかどうかを判断する必要があります (つまり、もし
createNewFile()
が成功するか例外を投げるかどうか)、しかし検証のためだけに作成された無用なファイルでファイル システムを肥大化させたくはありません。
ファイルの作成を試みずに、私が持っている文字列が有効なファイル パスであるかどうかを判断する方法はありますか?
有効なファイルパスの定義がOSによって異なることは承知していますが、以下のような手っ取り早い方法はないものでしょうか。
C:/foo
または
/foo
を拒否し
banana
.
可能なアプローチは、ファイルの作成を試み、作成が成功したら最終的にそれを削除することかもしれませんが、同じ結果を得るためのよりエレガントな方法があることを望みます。
どのように解決するのですか?
これは、ディレクトリの存在もチェックすることになります。
File file = new File("c:\\cygwin\\cygwin.bat");
if (!file.isDirectory())
file = file.getParentFile();
if (file.exists()){
...
}
file.canWrite()では、ディレクトリへの書き込み権限があるかどうかがはっきりしないような気がします。
関連
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
javaの非静的メソッドを静的に参照することができない
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Javaで、オブジェクトの大きさを決定する最も良い方法は何ですか?
-
[解決済み] Java 8でインデックスを持つストリームを反復処理する簡潔な方法はありますか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
Javaジェネリックを1つの記事で
-
シェルコマンドやスクリプトのJavaコール
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
keytool error: java.io.FileNotFoundException: cacerts (アクセス拒否されました。)
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題