Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅在参数中存储文件名_Java_String - Fatal编程技术网

Java 仅在参数中存储文件名

Java 仅在参数中存储文件名,java,string,Java,String,我有一个需求,其中参数是作为文件名出现的,在调试时我已经分析过,如下所示: private processfile ( string filepath) { } 现在,此文件路径可以类似于: C:\abc\file1.txt or C:\abc\def\file1.txt or C:\ghj\ytr\wer\file1.txt 因此,我通过如下所示实现了这一点 String p = new File(filePath).getName();

我有一个需求,其中参数是作为文件名出现的,在调试时我已经分析过,如下所示:

 private processfile ( string filepath)
 {

 }
现在,此文件路径可以类似于:

 C:\abc\file1.txt
    or 
    C:\abc\def\file1.txt
    or 
    C:\ghj\ytr\wer\file1.txt
因此,我通过如下所示实现了这一点

String p  = new File(filePath).getName();
现在的问题是,在控制台上打印参数p时,它会打印 file1.txt

无论何时,我尝试只存储文件名,而不存储扩展名,例如
P应该只包含file1,而不包含扩展名。请告知。

没有内置API来获取没有扩展名的文件名。但是,为什么您不能以编程方式将其分档,如:

p = p.substring(0, p.lastIndexOf("."));

vishal_aim所说的会起作用并且是正确的,但在我看来,使用库更好,因为它更具表现力,而且您不必修复他们已经修复的所有bug。因此,您应该使用以下方法:

以下是文档中的内容:

 a/b/c.txt --> c
 a.txt     --> a
 a/b/c     --> c
 a/b/c/    --> ""
最后一个案例可能没有发生在我们这里的任何人身上,但图书馆的作者已经为我们想到了它