Java - 如何从绝对路径获取文件名并删除其文件扩展名?

时间:2012-08-09 23:58:17

标签: java string file

我有一个问题,我有一个包含C:\ Users \ Ewen \ AppData \ Roaming \ MyProgram \ Test.txt值的String,我想删除C:\ Users \ Ewen \ AppData \漫游\ MyProgram \以便只剩下Test。所以问题是,如何删除字符串的任何部分。

感谢您的时间! :)

3 个答案:

答案 0 :(得分:6)

如果您严格使用文件路径,请尝试使用

String path = "C:\\Users\\Ewen\\AppData\\Roaming\\MyProgram\\Test.txt";
File f = new File(path);
System.out.println(f.getName()); // Prints "Test.txt"

  

谢谢,但我也想删除.txt

好的,试试这个

String fName = f.getName();
System.out.println(fName.substring(0, fName.lastIndexOf('.')));

有关详细信息,请参阅this

答案 1 :(得分:1)

String课程具备处理此问题所需的全部力量。您可能感兴趣的方法:

String.split()String.substring()String.lastIndexOf()

这里描述了3个甚至更多:http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html

给它一些思考,你马上就可以使用它。)。

答案 2 :(得分:0)

我建议使用JxBrowser 6.4FilenameUtils类是FilenameUtils.getBaseName(String filename)的一部分。

根据文档,方法"将处理Unix或Windows格式的文件"。 "返回最后一个前向或反斜杠之后以及最后一个点之前的文本"作为String对象。

String filename = "C:\\Users\\Ewen\\AppData\\Roaming\\MyProgram\\Test.txt";
String baseName = FilenameUtils.getBaseName(filename);
System.out.println(baseName);

以上代码打印Test