Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Java中的绝对路径_Java - Fatal编程技术网

获取Java中的绝对路径

获取Java中的绝对路径,java,Java,我有字符串: String s=“~/abc/d.png” 如何获取此文件的绝对路径 我试过: File file = new File(s); String absolutePath = file.getAbsolutePath(); 但是它不能重新爱上~symbol。Java不会知道~的意思,因为它是主目录的shell扩展。您可以在将其交给文件之前执行此操作: s = s.replace("~",System.getProperty("user.home")); Java不知道~是什么意

我有字符串:

String s=“~/abc/d.png”

如何获取此文件的绝对路径

我试过:

File file = new File(s);
String absolutePath = file.getAbsolutePath();

但是它不能重新爱上~symbol。

Java不会知道
~
的意思,因为它是主目录的shell扩展。您可以在将其交给
文件之前执行此操作:

s = s.replace("~",System.getProperty("user.home"));

Java不知道
~
是什么意思,因为它是主目录的shell扩展。您可以在将其交给
文件之前执行此操作:

s = s.replace("~",System.getProperty("user.home"));

我希望此代码在Windows、Mac或Linux上运行。只需删除/替换
~
char即可<代码>字符串s=“/abc/d.png”我希望此代码在Windows、Mac或Linux上运行。只需删除/替换
~
字符即可<代码>字符串s=“/abc/d.png”
您是否可以使用
File.getCanonicalPath()
来实现此目的,或者它会遇到同样的问题?@MadProgrammer您可以尝试一下,但我怀疑它是否有效
~
不同。
因为它是shell的一部分,而不是path元素。您的解决方案仅使用~symbol,但path可能包括其他特定符号。您有其他shell路径的通用解决方案吗?@merrymenvn您还有哪些特殊符号?
通过该方法被删除。@Jon Lin:我不知道所有特殊符号都可以包含在shell路径中。我需要一个可以处理所有问题的解决方案(库/函数)。您是否可以使用
File.getCanonicalPath()
,或者它会遇到同样的问题?@MadProgrammer您可以尝试一下,但我怀疑它是否有效
~
不同。
因为它是shell的一部分,而不是path元素。您的解决方案仅使用~symbol,但path可能包括其他特定符号。您有其他shell路径的通用解决方案吗?@merrymenvn您还有哪些特殊符号?
通过该方法被删除。@Jon Lin:我不知道所有特殊符号都可以包含在shell路径中。我需要一个能处理所有问题的解决方案(库/函数)。