gpt4 book ai didi

java - 在 Cygwin 中工作时使用 Java 打开文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:32 25 4
gpt4 key购买 nike

我在 Windows 7 机器上运行 Cygwin,并使用脚本文件批量执行 Java 程序。我的问题是:我尝试通过命令行将 Cygwin/Linux 路径传递给文件,Java 将所有正斜杠转换为反斜杠。

例如:

java program $scratchname/path_to_folder/ filename_$i.txt

在 Java 中,我获取目录并添加文件名以打开文件,只要我使用 Windows 命令行,这通常不会出现任何问题。但是,在 Cygwin 中,Java 将其转换为:

home\scratch\path_to_folder

Cygwin 不喜欢。

我认为用正斜杠替换反斜杠不是一件简单的事情,因为当我尝试打开文件时,Java 似乎默认使用 Windows 路径约定。我猜这是因为 Cygwin 指向了 JVM 的 Windows 安装。

如何强制 Java 在 Windows 系统上使用 Cygwin/Linux 路径名约定?

最佳答案

Java 是一个 Windows 程序,因此它只理解 Windows 路径;从 Cygwin shell 启动它不能改变它。您可以使用 cygpath 来回转换路径。

引用链接:https://cygwin.com/cygwin-ug-net/using-effectively.html

案例:

  java -jar path/to/your-1.0.jar "$(cygpath -aw /home/YOUR_USER/path/to/file.txt)"

选项:

  • a 提供绝对路径
  • w 使用 Windows 格式

关于java - 在 Cygwin 中工作时使用 Java 打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com