ColdFusion修改文本文件中的单行

dom*_*ri7 1 coldfusion file-io edit

有没有办法在ColdFusion中编辑文本文件的单行内容?

据我所知,我必须读取并缓冲整个文本文件,然后按原样逐行重写,直到找到我必须修改的行,放入我想要的值,然后继续重写其余的线条原样.

我不喜欢重写整个文件的想法..我想找到一种编辑单行的方法,你有什么建议?

更多细节

基本上我有一个看起来像这样的配置文件

my_own.thingy.blabla1 = "true";
my_own.thingy.bla_bla = 1337;
my_own.thingy.foo_bar_baz = "what ever...";
Run Code Online (Sandbox Code Playgroud)

我的CFC控制器收到"编辑bla_bla到42"之类的请求

我需要

  1. 将配置文件读入变量
  2. bla_bla定义的变量中找到位置
  3. 将子串1337替换为42
  4. 使用包含已修改文件文本的已修改变量重写该文件

我正在寻找一个很好的方法来做第2步和第3步,因为#1和#2是微不足道的

编辑:有人指出我使用JSON,但我不知道这将如何适用于此.

and*_*xon 5

当然要编辑文本文件中的单行,当你"保存"文件时,你必须重写整个文件,但是不是一行一行地写,为什么不把整个文件(使用cffile read)读成一个变量,更改文件的相应部分,然后使用cffile write写回整个文件.

不要以为我会建议一次写一行文件来找到你想要编辑的行.

  • 说真的,如果这是一个配置文件,就像Peter建议并将其存储为JSON一样,否则你真的为自己做了大量的额外工作.此外,如果是配置,则应将其加载一次,onApplicationStart,并将其存储在应用程序范围中. (2认同)