1

次のファイル名にパスを指定できます。

/ somepath / file

ファイルには拡張子がないため、JavaではgetPathがパス全体とファイル名を返すことになります。パス/ファイル名の最後のものが常にファイル名であると仮定すると、パスを抽出するにはどうすればよいですか?最も簡単な解決策は、最後のスラッシュを探すことです。しかし、それを取得する組み込みのAPIはありますか?

編集:間違い。パス(ファイル名ではなく)を抽出する方法を意味しました。ごめん。

4

5 に答える 5

2
     File file = new File("/somepath/file");
     file.getName();

編集:パスが必要な場合はこれを試してください

    file.getCanonicalPath();

また、ファイルオブジェクトのプロパティを使用して、さまざまな種類のファイル関連データを抽出することもできます。

于 2013-02-07T09:28:43.187 に答える
2

Java SE 7の場合:

Path path = Paths.get("/somepath/file");
String fileName = path.getFileName().toString();

Path parentPath = path.getParent();

編集:

注:実行内容によっては、ルートディレクトリ(ここでは「/」)とセパレーター(ここでは「/」)をハードコーディングしないことを検討し、コードがプラットフォームに依存しないことを確認してください。

于 2013-02-07T09:38:29.190 に答える
0

使用lastIndexOf()してsubstring()

System.out.println(fileObj.getPath().substring(0, f.getPath().lastIndexOf("/"));

編集:の存在を見つけたところgetParent()、ファイルのそのディレクトリが直接表示されます。

System.out.println(fileObj.getParent());
于 2013-02-07T09:28:46.163 に答える
0

getName()クラスのメソッドを試してくださいFile

于 2013-02-07T09:29:03.733 に答える
0

getParent()を使用する

File file = new File("/somepath/file"); file.getParent();

これにより、「/somepath」が返されます。

于 2013-02-07T09:38:15.750 に答える