>>713
ああ、やっと意味がわかったw
なんかプログラミングあまり向いてない人みたいだな君って。

それのマズいところは、本来、

・ファイルが入力された文字列Sに一致する行を含まなかったら
 ファイルの末尾にSを追記する。

でなければならないはずなのに、

・ファイルの全ての行を列挙して、各行が入力された文字列Sと一致しないごとに
 ファイルの末尾にSを追記する。

になってるところ。

まず、「ファイルが文字列に一致する行を持つかどうか」の判断を行う部分を
別のメソッドに切り出してみたら?