当前位置:编程学习 > JAVA >>

Class File中的一个问题,指导下

我是自学的,没有计算机基础。
Class File中的File.separator和File.pathSeparator之间的区别是什么?

个人理解:
    Flie.separator是某个路径中,用来表面包层次的符号;
    Flie.pathSeparator是用来分隔多个完整路径的,将不同的路径分开表示?具体的用途是什么? --------------------编程问答-------------------- File.separator是名称分隔符,File.pathSeparator是路径分隔符 --------------------编程问答-------------------- File.separator是名称分隔符:
(1)windows系统上,看你的环境变量是用分号;分割的:
CLASSPATH设置的是.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
(2)linux系统上,看用户的.bash_profile文件,是用冒号:分割的
export PATH=$JAVA_HOME/bin:$PATH

File.pathSeparator是路径分隔符:
(1)windows系统上,文件所在的路径C:\Users\Tom\是用斜线\分割的
C:\Users\Tom\a.txt
(2)linux系统上,文件所在的路径是用斜线/分割的    
/var/log/a.txt

	public static void main(String[] args) {
System.out.println(File.pathSeparator);
System.out.println(File.separator);
}


如上代码在windows执行结果是:
;
\
在linux执行结果是:
:
/ --------------------编程问答--------------------
引用 2 楼 u010255083 的回复:
File.separator是名称分隔符:
(1)windows系统上,看你的环境变量是用分号;分割的:
CLASSPATH设置的是.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
(2)linux系统上,看用户的.bash_profile文件,是用冒号:分割的
export PATH=$JAVA_HOME/bin:$PATH

File.pathSeparator是路径分隔符:
(1)windows系统上,文件所在的路径C:\Users\Tom\是用斜线\分割的
C:\Users\Tom\a.txt
(2)linux系统上,文件所在的路径是用斜线/分割的    
/var/log/a.txt

	public static void main(String[] args) {
System.out.println(File.pathSeparator);
System.out.println(File.separator);
}


如上代码在windows执行结果是:
;
\
在linux执行结果是:
:
/
您这个是不是写反了?File.separator好像是目录分隔符,File.pathSeparator是分隔不同路径的,classpath里面的应该是pathSeparator? --------------------编程问答-------------------- 打印出来看看不就知道了吗
一个是路径分隔符
一个是文件分隔符 --------------------编程问答--------------------
引用 3 楼 dealdream 的回复:
Quote: 引用 2 楼 u010255083 的回复:

File.separator是名称分隔符:
(1)windows系统上,看你的环境变量是用分号;分割的:
CLASSPATH设置的是.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
(2)linux系统上,看用户的.bash_profile文件,是用冒号:分割的
export PATH=$JAVA_HOME/bin:$PATH

File.pathSeparator是路径分隔符:
(1)windows系统上,文件所在的路径C:\Users\Tom\是用斜线\分割的
C:\Users\Tom\a.txt
(2)linux系统上,文件所在的路径是用斜线/分割的    
/var/log/a.txt

	public static void main(String[] args) {
System.out.println(File.pathSeparator);
System.out.println(File.separator);
}


如上代码在windows执行结果是:
;
\
在linux执行结果是:
:
/
您这个是不是写反了?File.separator好像是目录分隔符,File.pathSeparator是分隔不同路径的,classpath里面的应该是pathSeparator?


没写反,这都是实际的运行结果!
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,