我有一个方法从某个源读取文件的文件名。我的方法应该处理两种类型的文件。我的下一个方法取决于文件的名称。
_InPayed.txt" "_OutPayed.txt
我的问题是如何检查文件名是..._inpayed
还是..._OutPayed
如何在strick“_”
public class FilenameDemo {
public static void main(String[] args) {
final String FPATH = "/home/mem/"filename.txt";
System.out.println("Extension = " + myHomePage.extension());
System.out.println("Filename = " + myHomePage.filename());
}
}
答案 0 :(得分:1)
不需要subString。只需拨打contains(...)
就可以了。更重要的是,学会使用API。
if (myString.toLowerCase().contains("inpayed")) {
// do something
}
答案 1 :(得分:0)
您可以使用substring()
方法提取存储为String
的文件名的所需部分。或者,如果您正在检查的部分始终位于String
的末尾,则更简单的选项是使用endsWith()
。有关方法用法的详细信息,请查看documentation。
答案 2 :(得分:0)
如果要检查文件名中的特定字符串,请使用contains
方法。
&安培;
您可以使用以下表达式
在_
之后获取文件名
System.out.println("Filename = "+FPATH.substring(FPATH.lastIndexOf("_")+1,FPATH.lastIndexOf(".")));
答案 3 :(得分:0)
字符串必须包含一个且只有一个_
才能生效。
String fullFile="whatever_InOutPayed.txt"
String[] split = file.split("_");
// split[0] = "whatever"
// split[1] = "InOutPayed.txt"
String file = split[1];
如果它包含多个,则取数组的最后一个元素
String file = split[split.length - 1];
或者您可以轻松使用String.contains()
。