符号在不同系统下的意义各有不同,尤其是在处理目录间隔符时。以下是对这些符号在不同环境下的使用和意义的详细说明:
-
目录间隔符的使用:
在UNIX环境中,目录间的间隔符统一使用正斜线(/)。
在Windows平台上,目录间隔符可以使用正斜线(/)或反斜线(\)。
在Java程序中,目录间隔符可以是正斜线(/)。然而,反斜线(\)在Java中作为转义字符使用,因此如果在Java(以及PHP)程序中使用Windows平台上的反斜线作为目录间隔符,必须使用双反斜线(\\)。简而言之,目录间隔符可以是正斜线(/)或双反斜线(\\)。
-
反斜线的使用和变化:
反斜线(\)在许多编程语言中被用作转义字符,这意味着它会改变其后字符的意义。例如,\n表示换行符。 在Perl中,x表示变量,但\x则不是变量。双反斜线(\\)用于表示反斜线字符本身,例如:
printf("\\n");这会打印出\n,而不是执行换行操作。记住,反斜线会转义其后的字符,例如:
printf("\\\");这会导致编译错误,因为前两个反斜线表示一个反斜线字符,第三个反斜线试图转义后面的引号,导致引号缺失。
反斜线也常用于在字符串中包含引号,例如:
printf("hello \"world\"\n");这将正确打印出带引号的字符串。
-
实际应用示例:
在Servlet程序中,如果需要获取位于当前WEB应用根目录下/WEB-INF/files文件夹中的test.doc文件的输出流,可以这样做:

通过打印fileName,可以得到文件的绝对路径,例如:E:\apache-tomcat-8.0.37\webapps\20161028-FileUpLoad\WEB-INF\files\test.doc。
然后,通过向outputStream中写入数据,可以在E:\apache-tomcat-8.0.37\webapps\20161028-FileUpLoad\WEB-INF\files目录下看到新生成的test.doc文件。
这表明,通过getRealPath方法可以获取当前WEB应用中某个文件在服务器上的绝对路径(即部署后的路径,而不是部署前的路径)。










