DOBON.NETプログラミング掲示板過去ログ
複数ファイルの中身を一括に置換
題名: 複数ファイルの中身を一括に置換
著者: haru
日時: 2007/01/22 14:36:15
ID: 18878
この記事の返信元:
(なし)
この記事への返信:
[18899]
Re[1]: 複数ファイルの中身を一括に置換
ぺがらぼ
2007/01/24 13:04:40
[18901]
Re[1]: 複数ファイルの中身を一括に置換
じゃんぬねっと
2007/01/24 13:33:42
ツリーを表示
環境/言語:[環境:XP,使用言語:C#,.NET Framework2.0]
分類:[.NET]
私は今、C#で複数ファイルの一括置換のプログラムを作成しています。
したい事は、C:\testの下に
a.txt,b.txt,c.txtと3つのファイルがあり、それぞれの中身にabcという文字があれば、全てdefと置換というものです。
C:testのパスはアプリケーション構成ファイル(app.conf)で持たせています。
現在作成しているプログラムは、
C:\testの下のファイルでtxtファイルがあるか検索し、
.txtファイルならファイルを開いて、文字列の中身をstreamreaderで取り出し、
正規表現で置換をし、streamwriterで上書きというものなのですが、
あんまり良いプログラムと思っていません。
もっと簡単でよい方法は無いか?と思っています。
もっと良い方法を知っている方がいましたら教えてください。
よろしくお願いします。
題名: Re[1]: 複数ファイルの中身を一括に置換
著者: ぺがらぼ
URL:
http://pegalabo.net/
日時: 2007/01/24 13:04:40
ID: 18899
この記事の返信元:
[18878]
複数ファイルの中身を一括に置換
haru
2007/01/22 14:36:15
この記事への返信:
(なし)
ツリーを表示
■No18878に返信(haruさんの記事)
> 私は今、C#で複数ファイルの一括置換のプログラムを作成しています。
> したい事は、C:\testの下に
> a.txt,b.txt,c.txtと3つのファイルがあり、それぞれの中身にabcという文字があれば、全てdefと置換というものです。
> C:testのパスはアプリケーション構成ファイル(app.conf)で持たせています。
> 現在作成しているプログラムは、
> C:\testの下のファイルでtxtファイルがあるか検索し、
> .txtファイルならファイルを開いて、文字列の中身をstreamreaderで取り出し、
> 正規表現で置換をし、streamwriterで上書きというものなのですが、
> あんまり良いプログラムと思っていません。
> もっと簡単でよい方法は無いか?と思っています。
> もっと良い方法を知っている方がいましたら教えてください。
> よろしくお願いします。
haruさん、こんにちは。ぺがらぼです。
良いか悪いかの判断基準を考えてみると、そのプログラムにバグが有るか無いかで判断してみてはいかがでしょうか?
かなりのファイル件数があり、処理に時間がかかるのならまだしも、数件のファイルであるならば、正常に動いているプログラムを利用するのがベストとは言えませんが、ベターではないでしょうか?
題名: Re[1]: 複数ファイルの中身を一括に置換
著者: じゃんぬねっと
URL:
http://jeanne.wankuma.com/
日時: 2007/01/24 13:33:42
ID: 18901
この記事の返信元:
[18878]
複数ファイルの中身を一括に置換
haru
2007/01/22 14:36:15
この記事への返信:
[18904]
Re[2]: 複数ファイルの中身を一括に置換
haru
2007/01/24 17:49:39
[解決]
ツリーを表示
■No18878に返信(haruさんの記事)
> .txtファイルならファイルを開いて、文字列の中身をstreamreaderで取り出し、
> 正規表現で置換をし、streamwriterで上書きというものなのですが、
> あんまり良いプログラムと思っていません。
それで良いです。
仕上がりファイル サイズが変わらないのであれば、
シークを使って置換した方が早いでしょうけど。
題名: Re[2]: 複数ファイルの中身を一括に置換
著者: haru
日時: 2007/01/24 17:49:39
ID: 18904
この記事の返信元:
[18901]
Re[1]: 複数ファイルの中身を一括に置換
じゃんぬねっと
2007/01/24 13:33:42
この記事への返信:
(なし)
ツリーを表示
■No18901に返信(じゃんぬねっとさんの記事)
> ■No18878に返信(haruさんの記事)
>>.txtファイルならファイルを開いて、文字列の中身をstreamreaderで取り出し、
>>正規表現で置換をし、streamwriterで上書きというものなのですが、
>>あんまり良いプログラムと思っていません。
>
> それで良いです。
>
> 仕上がりファイル サイズが変わらないのであれば、
> シークを使って置換した方が早いでしょうけど。
ありがとうございました。
複数ファイルがある場合に開いて、置換し、閉じるというのを何度(例通りなら「×3」)もするのって、
あんまり綺麗なロジックでは無いと思っていました。
もっと良いロジックがあるのかな?と
一気に置換というのは不可能なのかな?と思い質問さしていただきました。
それで良いという事なので、今のやり方でいかしていただきます。
ありがとうございました。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
私は今、C#で複数ファイルの一括置換のプログラムを作成しています。
したい事は、C:\testの下に
a.txt,b.txt,c.txtと3つのファイルがあり、それぞれの中身にabcという文字があれば、全てdefと置換というものです。
C:testのパスはアプリケーション構成ファイル(app.conf)で持たせています。
現在作成しているプログラムは、
C:\testの下のファイルでtxtファイルがあるか検索し、
.txtファイルならファイルを開いて、文字列の中身をstreamreaderで取り出し、
正規表現で置換をし、streamwriterで上書きというものなのですが、
あんまり良いプログラムと思っていません。
もっと簡単でよい方法は無いか?と思っています。
もっと良い方法を知っている方がいましたら教えてください。
よろしくお願いします。