lastIndexOf('.')
そのばかげたものなどを使用せずに、Javaでファイル拡張子を取得するにはどうすればよいですか?
19979 次
4 に答える
15
Apache Commons ライブラリにはFilenameUtils.getExtension()
.
ここから始まるソースとFilenameUtilsを調べることができます。
少なくともそれらの実装を見てください。dir.ext/fileを正しく処理し、 file.tar.gz のようなものを処理するには、単に.gzではなく.tar.gzを抽出する場合に特別なケースが必要になります。
于 2012-07-22T20:18:49.017 に答える
2
これがおそらく最も簡単な方法です (コンテキストによっては、必ずしも正しいとは限らないことにも注意してください。たとえば、「.tar.gz」)。
split
文字に基づいて文字列を作成し、最後のピースを取得することもできますが.
、それは同じように難しいようです.
と を避けようとしている特定の理由はありますか?substring
lastIndexOf
于 2012-07-22T20:18:41.033 に答える
1
外部ライブラリを含めたくないですか? 正規表現を使用します。
String extension = filename.replaceAll("^.*\\.([^.]+)$", "$1");
于 2013-11-14T18:35:58.663 に答える
0
グァバ入り
Files.getFileExtension("some.txt")
于 2014-10-03T06:49:55.437 に答える