0

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

 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 而没有扩展名。请指教。

4

2 回答 2

1

vishal_aim 所说的将起作用并且是正确的,但在我看来,最好使用库,因为它更具表现力,并且您不必修复他们已经修复的所有错误。因此,你应该使用这个:

FilenameUtils.getBaseName(yourFile)

这是文档中的内容:

 a/b/c.txt --> c
 a.txt     --> a
 a/b/c     --> c
 a/b/c/    --> ""

最后一种情况可能是我们这里任何人都没有想到的,但图书馆作者已经为我们考虑过了。

于 2013-05-17T05:25:39.437 回答
0

没有内置的 API 来获取没有扩展名的文件名。但是为什么你不能像这样以编程方式翻译它:

p = p.substring(0, p.lastIndexOf("."));
于 2013-05-17T05:12:51.910 回答