一回も披露したことのない豆知識

特定フォルダにある、iniファイルを変更したいと思っています。

テキストファイルで変更するなら、

TestDateA=1

TestDateA=5

と変更するのは
1行ずつ読み込み、Replaceで出来ると思うのですが
iniファイルとなると特別なのか、調べてみても良く分かりません。

h ttp://yozda.exblog.jp/9552062/
この方が書いている通り、書けば良いのかもしれませんが
自分で理解していない分、このまま使うのは不安です。
クラスを使うとなると余計にわかりません・・・。

ReadLineで読み込み、特定の文字を含んだらReplaceみたいな
方法は使えないでしょうか?
それ以外に何か方法はありますでしょうか?

以上、よろしくお願い致します。

A 回答 (1件)

> 特定フォルダにある、iniファイルを



セクションなんかが指定されている、Windowsやレジストリエディタで扱えるしっかりとしたiniファイルなのか?単に拡張子が.iniのファイルなのか?で話が違います。
前者と仮定して、

> それ以外に何か方法はありますでしょうか?

WindowsAPIのWritePrivateProfileStringを使うとかが真っ当だと思います。

なっちゃんのプログラミングTips: INIファイルの読み書き
http://natchan-develop.seesaa.net/article/111204 …

WritePrivateProfileStringはWindowsに用意されている、セクション名やキー名を指定してiniファイルへ書き込みを行うためのインターフェースです。
Replaceの処理の中身でForやMidみたいな関数が使われてるなんて事考える必要が無いのと同様に、WritePrivateProfileStringの中で置換がどうとかって事は考える必要が無いです。

--
> と変更するのは
> 1行ずつ読み込み、Replaceで出来ると思うのですが
> iniファイルとなると特別なのか、調べてみても良く分かりません。

いわゆるWindowsで扱うiniファイルであれば、一応フォーマットが定まっています。
通常、iniファイルにアクセス、値の書き込みを行う場合、セクション名、キー名で対象の値を指定します。
セクション名が違って、同じキー名の複数の値をまとめて変更しちゃうなんて事は望ましくないです。
自分で書き出したデータを.xlsとか.docって拡張子にしたら紛らわしいのと一緒で、独自の処理するのであれば別の拡張子にしとくのが良いです。

INIファイル - Wikipedia
http://ja.wikipedia.org/wiki/INI%E3%83%95%E3%82% …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

情報不足で申し訳ありません。
特定キーの1つの値しか変更する予定はありません。

Windowsで扱うiniファイルだと思います。
フォーマットが決まっているため、問題無いかと思います。

詳しく回答頂き、ありがとうございます!
参考にし、1行ずつ理解していこうと思います^^

お礼日時:2014/07/29 12:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報