Java 文件分隔符。它是在编译时确定的还是在运行时确定的?
我的任务是将一段编写为在Windows下运行的代码转换为在Linux下运行 我试图解决的第一个问题是没有使用File.separator。取而代之的是使用windows文件分隔符的大量硬编码sringJava 文件分隔符。它是在编译时确定的还是在运行时确定的?,java,linux,windows,path,Java,Linux,Windows,Path,我的任务是将一段编写为在Windows下运行的代码转换为在Linux下运行 我试图解决的第一个问题是没有使用File.separator。取而代之的是使用windows文件分隔符的大量硬编码sring\ 我通过VirtualMachine在Linux环境下运行java代码,速度有点慢 为了让我的生活更轻松,我只需在Windows下编译代码(编译整个代码大约需要1小时),然后将类文件粘贴到Linux环境中 所以我的问题是,File.separator是在运行时还是在编译时确定的,因为我仍然面临着路
\
我通过VirtualMachine在Linux环境下运行java代码,速度有点慢
为了让我的生活更轻松,我只需在Windows下编译代码(编译整个代码大约需要1小时),然后将类文件粘贴到Linux环境中
所以我的问题是,File.separator是在运行时还是在编译时确定的,因为我仍然面临着路径的相同问题 它是在运行时确定的 在中,
文件分隔符
将通过文件系统
初始化,该文件系统通过DefaultFileSystem\getFileSystem()
返回。该类将由JRE提供。它将根据Windows或Linux安装提供不同的值
在中,通过
本机
调用返回了文件系统
实现。返回的值取决于本地环境。它是在运行时确定的
在中,文件分隔符
将通过文件系统
初始化,该文件系统通过DefaultFileSystem\getFileSystem()
返回。该类将由JRE提供。它将根据Windows或Linux安装提供不同的值
在中,通过
本机
调用返回了文件系统
实现。返回的值取决于本地环境。路径分隔符的来源是文件系统,它是抽象的。这是否意味着具体实例将仅在运行时返回,因此意味着它将在运行时返回正确的路径分隔符?路径分隔符的来源是文件系统,它是抽象的。这是否意味着具体实例将仅在运行时返回,因此意味着它将在运行时返回正确的路径分隔符?