[英]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.