0

質問を別の言い方にすることにしました。ファイル テストがあるとします。すべてのファイルの名前を取得するために、このタイプの indeks.html、kiki.tht、lololo.bin など、さまざまなファイルがたくさんあります。フォルダー、次のコードを使用できます。

File folder = new File("C:\\test\\");
File[] listOfFiles = folder.listFiles();

    for (int i = 0; i < listOfFiles.length; i++) {
      if (listOfFiles[i].isFile()) {
        System.out.println(listOfFiles[i].getName());
      }
    }

しかし、拡張子なしでファイル名だけを表示する方法は? Indeks.html looolo.tht は好きではありません (たくさんのファイルを覚えておいてください。重複した名前はありません)、そしてインデックスとlooolo)

4

5 に答える 5

1
String fileName = listOfFiles[i].getName();
int index = fileName.lastIndexOf('.');
if (index >= 0) {
    fileName = fileName.substring(0,  index);
}
System.out.println(fileName);
于 2012-11-14T15:31:35.763 に答える
0

やってみました:

   listOfFiles.get(index).getName()

乾杯

于 2012-11-14T15:32:37.973 に答える
0

ファイルの名前を取得し、文字列を分割することができます

String[] file = filename.Split("\\.");'

file[0]ベース名をfile[1]保持し、拡張子を保持します。

于 2012-11-14T15:31:27.693 に答える
0
String fullName = file.getName();
String nameWithoutExtension = fullName();
int lastDot = fullName.lastIndexOf(".");
if (lastDot >= 0) {
    nameWithoutExtension = nameWithoutExtension.substring(0, lastDot);
}
于 2012-11-14T15:30:33.727 に答える
0

Apache Commons IO にはFilenameUtils、 メソッドを提供するというクラスがありますgetBaseName(String)。引数にファイルのパスを渡すだけです。

于 2012-11-14T15:36:02.730 に答える