簡體   English   中英

Java-從文件夾獲取不帶擴展名的文件名

[英]Java - Getting file name without extension from a folder

我正在使用此代碼來獲取文件夾中文件的絕對路徑

public void addFiles(String fileFolder){
        ArrayList<String> files = new ArrayList<String>();     
        fileOp.getFiles(fileFolder, files);
}

但是我只想獲取文件的文件名(不帶擴展名)。 我怎樣才能做到這一點?

我不認為這種方法存在。 您可以獲取文件名並獲取的最后一個索引. 並在此之后截斷內容,並獲取File.separator的最后一個索引,然后刪除之前的內容。

您得到了文件名。

或者您可以從apache commons IO使用FilenameUtils並使用以下命令

FilenameUtils.removeExtension(fileName);

有一個非常好的方法可以執行此操作-您可以使用FilenameUtils.removeExtension

另請參見: 如何從字符串修剪文件擴展名

此代碼將完成刪除文件的擴展名和打印名稱的工作:

      public static void main(String[] args) {
        String path = "C:\\Users\\abc\\some";
        File folder = new File(path);
        File[] files = folder.listFiles();
        String fileName;
        int lastPeriodPos;
        for (int i = 0; i < files.length; i++) {
            if (files[i].isFile()) {
                fileName = files[i].getName();
                lastPeriodPos = fileName.lastIndexOf('.');
                if (lastPeriodPos > 0)
                fileName = fileName.substring(0, lastPeriodPos);
                System.out.println("File name is " + fileName);
            }
        }
    }

如果您可以使用標准庫,請使用Apache Common,因為它具有現成的方法。

String filePath = "/storage/emulated/0/Android/data/myAppPackageName/files/Pictures/JPEG_20180813_124701_-894962406.jpg"


String nameWithoutExtension = Files.getNameWithoutExtension(filePath);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM