我有有文字如下文本文件:阅读文本文件的变量和更新的赋值
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