java 怎么将得到的文件路径中的""转化成"",以方便java应用

java 怎么将得到的文件路径中的""转化成"",以方便java应用,第1张

可以通过System.getProperty("file.separator")来得到系统相关的路径分隔符。

File.pathSeparator也可以,它实际也是取得了file.separator系统属性

static {

    separatorChar = System.getProperty("file.separator", "/").charAt(0)

    pathSeparatorChar = System.getProperty("path.separator", ":").charAt(0)

    separator = String.valueOf(separatorChar)

    pathSeparator = String.valueOf(pathSeparatorChar)

}

这是类File中的相关源码

需要2个变量一个是当前路径,另一个是方案栏中的路径。比较字符串,这个你应该会做了吧。第二个变量的减去第一个变量,然后做适当更改就是你要的相对路径了

楼主 如果你的程序在E盘或者D盘 就没有相对路径了。

如果的程序在“c:\documents and settings\administrator\桌面\” 那么相对路径就应当是c:\documents and settings\administrator\桌面\MY\雨的印记.wav -c:\documents and settings\administrator\桌面\” =“/MY/雨的印记.wav ”

如果的你程序在桌面下的另一文件夹下例如Test文件下 也就是说程序的路径在:c:\documents and settings\administrator\桌面\Test\

相对路径就应当是“../MY/雨的印记.wav ”

. 一点代表当前目录

.. 两点代表上一目录

直接通过正则表达式进行替换即可(备注:反斜杠为"\",正斜杠为"/"),代码如下:

public class Test {

public static void main(String[] args) {

String path = "D:\\FTP\\admin\\bird.gif"//文件路径,双斜杠输出的是一个斜杠

System.out.println(path)//打印路径

//JAVA中正则表达式,用"\\\\"表示"\"

path = path.replaceAll("\\\\", "/")

System.out.println(path)//打印路径

}

}

输出结果为:

D:\FTP\admin\bird.gif

D:/FTP/admin/bird.gif


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11850740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存