如何在java中解析文件名?

con*_*ner 3 java

我有一个java文件路径

/opt/test/myfolder/myinsidefolder/myfile.jar

我想替换的文件路径到这里的根路径将保持不变,但想从更改文件名myfile.jarTest.xml

/opt/test/myfolder/myinsidefolder/Test.xml

我怎么能在java中做任何帮助?

aio*_*obe 10

这是正确的方法:

File myfile = new File("/opt/.../myinsidefolder/myfile.jar");
File test = new File(myfile.getParent(), "Test.xml");
Run Code Online (Sandbox Code Playgroud)

或者,如果您更喜欢仅使用字符串:

String f = "/opt/test/myfolder/myinsidefolder/myfile.jar";
f = new File(new File(f).getParent(), "Test.xml").getAbsolutePath();

System.out.println(f); // /opt/test/myfolder/myinsidefolder/Test.xml
Run Code Online (Sandbox Code Playgroud)


Bri*_*new 6

查看Java Commons IO FilenameUtils类.

这有许多方法可以在不同的平台上可靠地分解和操作文件名(值得看看许多其他有用的实用程序).

  • 但是不要为一些简单的东西添加第三方库,这可以在一行标准JDK代码中完成(是的,我知道答案有2或3行,但是那些可以合并,因为很可能是中间父文件变量新文件创建后不需要). (2认同)