通过git-bash为java程序提供命令行参数

时间:2016-04-19 08:02:25

标签: java command-line-arguments git-bash

我目前正在开发一个压缩和解压缩文件/目录的程序,当我通过git bash调用它时,它表现得有些奇怪。

该程序有三个参数(zip / unzip,inputPath,outputPath)。 例如:

java -jar zip_unzip.jar --zip H:\\zip_test  H:\\test5\zip_test_4.zip

当我通过Eclipse或CMD调用它时,一切正常。如果目录结构尚不存在,则会创建目录结构,并将输入文件夹压缩到新创建的输出文件夹中。但是当我在上面的例子中通过git bash调用它时,它会以某种方式“忽略”反斜杠而不是创建名为test5\的文件夹,而是创建一个名为test5zip_test_4.zip

的zip存档

以下是负责创建目录结构的代码片段,其中zippedFolder是outputPath-Parameter:

File directoryToZip = new File(inputFolder);
String targetZippedFolder = zippedFolder;
targetZippedFolder = targetZippedFolder.replace("\\", "/");
//create directory to store archive in, if it doesn't already exist
File destDir = new File(targetZippedFolder.substring(0, targetZippedFolder.lastIndexOf("/")));
if (!destDir.exists()) {
    destDir.mkdirs();
}

在代码段的第3行,我用一个转发器替换每个反斜杠,因为我认为这会使它与平台无关。

有人可以向我解释git bash的行为,并建议一种更独立于平台的路径处理方法吗?

0 个答案:

没有答案