gpt4 book ai didi

java - 从 Java 中的 URL/路径中删除文件名

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:30 24 4
gpt4 key购买 nike

如何从 URL 或字符串中删除文件名?

String os = System.getProperty("os.name").toLowerCase();
String nativeDir = Game.class.getProtectionDomain().getCodeSource().getLocation().getFile().toString();

//Remove the <name>.jar from the string
if(nativeDir.endsWith(".jar"))
nativeDir = nativeDir.substring(0, nativeDir.lastIndexOf("/"));

//Load the right native files
for(File f : (new File(nativeDir + File.separator + "lib" + File.separator + "native")).listFiles()){
if(f.isDirectory() && os.contains(f.getName().toLowerCase())){
System.setProperty("org.lwjgl.librarypath", f.getAbsolutePath()); break;
}
}

这就是我现在所拥有的,并且有效。据我所知,因为我使用“/”,所以它只适用于 Windows。我想让它独立于平台

最佳答案

考虑使用 org.apache.commons.io.FilenameUtils

您可以使用任何风格的文件分隔符提取基本路径、文件名、扩展名等:

String url = "C:\\windows\\system32\\cmd.exe";

String baseUrl = FilenameUtils.getPath(url);
String myFile = FilenameUtils.getBaseName(url)
+ "." + FilenameUtils.getExtension(url);

System.out.println(baseUrl);
System.out.println(myFile);

给予,

windows\system32\
cmd.exe

带网址; String url = "C:/windows/system32/cmd.exe";

它会给;

windows/system32/
cmd.exe

关于java - 从 Java 中的 URL/路径中删除文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21829295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com