我正在Cygwin
上运行Windows 8
。一个基本的Java程序:
public class FileSeparatorTest {
public static void main(String[] args) {
System.out.println("File separator = " + File.separator);
System.out.println("OS = " + System.getProperty("os.name"));
System.out.println("Path separator = " + File.pathSeparator);
}
}
产生以下输出:
File separator = \
OS = Windows 8
Path separator = ;
但是,在Cygwin
上,文件和路径分隔符与Unix上的相同(分别为/和)。我知道Java正在从底层操作系统(在本例中是Windows)中获取这些值,翻译发生在哪里? Cygwin在哪里翻译我们键入的所有Unix-y事物并将其转换为Windows特定的分隔符?