Java 如何替换特定文本行中的特定单词

Java 如何替换特定文本行中的特定单词,java,file-io,Java,File Io,好的,我有这个yaml文件,我想替换一个字符串 socialspy: true 用绳子 socialspy: false 但我不知道怎么做。这是完整的yaml文档 timestamps: login: 1395784099618 lastteleport: 1395785353975 logout: 1395777644566 mute: 0 ipAddress: 127.0.0.1 lastlocation: world: world x: -276.76950

好的,我有这个yaml文件,我想替换一个字符串

socialspy: true 
用绳子

socialspy: false 
但我不知道怎么做。这是完整的yaml文档

timestamps:
  login: 1395784099618
  lastteleport: 1395785353975
  logout: 1395777644566
  mute: 0
ipAddress: 127.0.0.1
lastlocation:
  world: world
  x: -276.7695097103249
  y: 67.31022115326866
  z: -354.327229975015
  yaw: 127.892334
  pitch: 20.817677
money: '155200.0'
logoutlocation:
  world: world
  x: -252.00777100946556
  y: 76.56983022033046
  z: -348.45387330548886
  yaw: 319.99237
  pitch: 19.562881
socialspy: true
godmode: true
afk: false
powertools:
muted: false

ِ你需要一些类似的东西:

String string = "timestamps: login ...";
string = string.replace("socialspy: true", "socialspy: false");

假设您使用的是一个体面的操作系统,并且您的YAML文档名为
doc

sed -i 's/socialspy: true/socialspy: false/' doc

从文件中读取行时,请尝试检查字符串是否包含“socialspy”,您可以使用string.contains()方法

如果该行包含字符串,则可以使用user或string.replace()


但是它看起来确实像是在使用JSON样式的字符串,尝试更深入地研究JSON。

你尝试过什么吗?你知道如何读取文件,你也需要这些信息吗?我知道如何读取文件,但我不知道如何读取特定行,并用新文本替换它。读取文件,然后写回,替换兴趣线。