有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

属性将带有空格的java属性值读入一个变量

你好,我的问题如下: 我有一个带有startconfig的属性场,用于从java运行外部程序:

   # Standardauswahl falls keine PlayerType übergeben wurden 
   Default = 1
   # Liste der gültigen PlayerTypes
   PlayerTypes = Human,MCTS,TMM,Random,Value
   StartConfig = \"C:\\Program Files\\Java\\jdk1.7.0_13\\bin\\javaw.exe\" -Dlog4j.configuration=file:///C:/Users/djdeejay/git/myGit/com.djdeejay.cowTrade.client.standaloneplayer.application/bin/log4j.xml -Dfile.encoding=Cp1252 -classpath  [..... some parameter deleted.....] 0.0-RC1.jar;C:\\Users\\djdeejay\\git\\myGit\\de.thWildau.cowTrade.server\\lib\\slf4j-api-1.5.2.jar;C:\\Users\\djdeejay\\git\\myGit\\de.thWildau.cowTrade.server\\lib\\slf4j-log4j12-1.5.2.jar;C:\\Users\\djdeejay\\git\\myGit\\de.thWildau.cowTrade.server\\lib\\log4j-1.2.16.jar com.djdeejay.cowTrade.client.standaloneplayer.application.RandomPlayerApplication %1 %2 %3  

当我加载如下属性时

cmd = this.serverSettings.getPlayerTypeSetting("StartConfig");

@Override
public String getPlayerTypeSetting(String key) {
    return this.startPlayerTypeSettingsProp.getProperty(key);
}

第一个空格后的java Cuting startconfig:

当程序“”在双引号中时,无法运行程序“”“C:\program”,或者无法运行程序“C:\program”:

我用“”尝试了几种变体,用转义等等,但都没有给出我需要的结果

如何配置getproperty以在EOL前读取

干杯


共 (2) 个答案

  1. # 1 楼答案

    尝试将空格替换为“\u0020”

  2. # 2 楼答案

    使用这个:

         StringEscapeUtils.escapeXml(String input);
    

    doc here