java - 使用 UNIX 文件系统的独立于平台的应用程序需要 File.isAbsolute()

标签 java file

我的Java应用程序可以在所有平台上运行。它正在处理 Linux 上 FTP 服务器上的一些远程文件。为了在 FTP 上导航,我使用绝对路径,例如 /home/user。如果我创建一个文件,例如:

File f = new File("/home/user");

然后调用结果:

f.isAbsolute();

似乎与平台相关。但由于我总是使用远程 UNIX(如文件系统),因此在这种情况下我希望始终获得 true 。有没有内置的java方法来识别unix平台上的文件是否是绝对的?

当然,我可以编写一个辅助方法并查看文件名是否.startsWith("/"),但我一直在寻找一些内置的java解决方案。

最佳答案

Is there any built-in java way how to identify if file is absolute on unix platform?

不,标准 API 中不存在“在 UNIX 平台上是绝对的”方法。

根据 File 的文档,执行 .startsWith("/") 将对应于 File.isAbsolute 的实现UNIX 平台:

[...] On UNIX systems, a pathname is absolute if its prefix is "/". [...]

所以这可能是我在这种情况下会选择的解决方案。

关于java - 使用 UNIX 文件系统的独立于平台的应用程序需要 File.isAbsolute(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5154499/

相关文章:

java - 空结果集异常

java - 如何使用 Gson 序列化 Optional<T> 类?

java - 何时使用带有文件名或文件的字符串作为构造函数的参数?

python - TypeError : TextIOWrapper. seek() 没有关键字参数

c# - 上传前验证文件大小

c - 如何在 C 中将两个文本文件中的差异写入另一个文本文件?

java - ThreadPoolTask​​Executor 没有执行提交给它的所有线程

python - H5py:以写入模式重新打开文件会删除以前的数据

file - 如何使用 COBOL 从文件中删除重复项?

java - 为什么 equals 方法需要一个 Object 参数?