1

我想将元数据附加到 Unix 文件系统中的文件。 attr命令允许我这样做,但命令语法要求附加变量的路径在双引号中。

attr -s outpipe0 "/mnt/FUse/FileB" FileA

我如何在 java 中使用System.Runtime.exec来运行上述命令。当我尝试使用字符串数组参数运行时,我必须给出上面的“/mnt/FUse/FileB”,这会导致 java 程序出现问题,因为它认为双引号是 java 中字符串的结尾。我基本上想发送一个本身有双引号的字符串参数。

有人可以建议解决方法。

谢谢

4

1 回答 1

2

您可以在 Java 中转义文字字符串中的引号,如下所示:

"\"/mnt/FUse/FileB\""

这将解决您如何在字符串中包含双引号的问题,但我怀疑它会解决您的程序。那是因为我怀疑attr程序实际上想要(或接受)双引号。相反,贝壳会吃掉它们。例如,如果您在 shell 中键入的命令是您提到的命令,那么在将参数传递给attr. 所以我怀疑你是否需要双引号(但如果你这样做,请参见上文)。

于 2011-06-05T22:20:19.587 回答