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。
另见:How to trim a file extension from a String
此代码将执行删除文件扩展名和打印名称的工作:
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);
我正在使用此代码获取文件夹内文件的绝对路径
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。
另见:How to trim a file extension from a String
此代码将执行删除文件扩展名和打印名称的工作:
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);