24

Excelファイルのデータをデータベースに保存するプログラムを作成しています。ユーザーがコンソールでファイルのフルパスを指定し、プログラムの後にファイル名のみを取得して続行することを希望します。

フルパスをロードするコードは次のとおりです。

String strfullPath = "";
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter the fullpath of the file");
strfullPath = scanner.nextLine();
String file = strfullPath.substring(strfullPath.lastIndexOf('/') + 1);
System.out.println(file.substring(0, file.indexOf('.')));

その後、私はしたいと思います:String filename = .......

ユーザーが入力するフル パスは次のようになります。C:\\Users\\myfiles\\Documents\\test9.xls

私が作成するファイル名は、.xls!なしの名前のみを取ります。誰かが私がこれを行う方法を手伝ってもらえますか?

ファイル名として「test9.xls」を使用したい場合、どうすればよいですか? –</p>

4

5 に答える 5

20

クラスを使用しFileてファイル名を取得できます。

File userFile = new File(strfullPath);
String filename = userFile.getName();

オブジェクトを使用するFileと、ファイルの存在をテストできるなど、多くの利点があります。

if (userFile.isFile()) {
  // Yay, it's a valid file (not a directory and not an invalid path)
}

また、ファイルを削除する前に、ファイルに拡張子があることを確認する必要があります。

if (filename.indexOf(".") > 0) {
    filename = filename.substring(0, filename.lastIndexOf("."));
}
于 2013-04-29T08:05:31.760 に答える
1
if (!filename.equals(""))    
{
        String [] fileparts = filename.split("\\.");
        String filename = fileparts[0]; //Get first part
}
于 2014-01-18T09:47:05.070 に答える