我有有文字如下文本文件:閱讀文本文件的變量和更新的賦值
emVersion = "1.32.4.0";
ecdbVersion = "1.8.9.6";
ReleaseVersion = "2.3.2.0";
我希望通過從用戶以輸入,如果用戶輸入新的值來更新版本號emVersion爲1.32.5.0然後
在文本文件中emVersion
將被更新爲emVersion = "1.32.5.0";
這一切我都使用Java代碼做的。到目前爲止,我所做的是逐行讀取文本文件,然後在搜索單詞emVersion時,如果發現虛線爲單詞,然後替換標記1.32.4.0,但由於文件中的空格不相等,所以不起作用。
代碼我所寫的是:
公共類UpdateVariable {
public static void main(String s[]){
String replace = "1.5.6";
String UIreplace = "\""+replace+"\"";
File file =new File("C:\\Users\\310256803\\Downloads\\setup.rul");
Scanner in = null;
try {
in = new Scanner(file);
while(in.hasNext())
{
String line=in.nextLine();
if(line.contains("svEPDBVersion"))
{
String [] tokens = line.split("\\s+");
String var_1 = tokens[0];
String var_2 = tokens[1];
String var_3 = tokens[2];
String var_4 = tokens[3];
String OldVersion = var_3;
String NewVersion = UIreplace;
try{
String content = IOUtils.toString(new FileInputStream(file), StandardCharsets.UTF_8);
content = content.replaceAll(OldVersion, NewVersion);
IOUtils.write(content, new FileOutputStream(file), StandardCharsets.UTF_8);
} catch (IOException e) {
}
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
請顯示您的代碼。 –
什麼意思是「文件中的空格不相等」?你期望哪個輸出,你會得到什麼?並至少顯示代碼,它會寫出你的(錯誤的)輸出。 – IQV