私は次のようにテキストを持つテキストファイルを持っていますEMVERSIONは1.32.5.0のようにテキストファイル内読書テキストファイル変数と更新された割り当てられた値は
emVersion
はemVersion = "1.32.5.0";
私はJavaコードを使用しなければならないすべてこのように更新されます。私が今まで行ってきたことは、行ごとにテキストファイルを読み込んで、破線を単語に見つけて1.32.4.0のトークンを置き換えたときに単語emVersionを検索することでしたが、スペースがファイル内で不等であるため動作しません。私が書いたものを
コードは次のとおりです。
パブリッククラス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