C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: テキストファイルの一部分の行の修正・削除


(過去ログ 38 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■20011 / inTopicNo.1)  テキストファイルの一部分の行の修正・削除
  
□投稿者/ マル (1回)-(2008/06/04(Wed) 11:19:08)

分類:[VB.NET/VB2005] 

いつもここで勉強させて頂いています。

ネットでぐぐったりしたのですがわからないところがあったので
ここで質問投稿させて頂きました。

テキストファイルに記述されている行の修正や削除って
可能でしょうか?

参考書やネットでぐぐってもその情報が見つかりませんでした。

どなたか教授お願いします。

VisualBasic 2005
引用返信 編集キー/
■20013 / inTopicNo.2)  Re[1]: テキストファイルの一部分の行の修正・削除
□投稿者/ PATIO (77回)-(2008/06/04(Wed) 11:25:52)
No20011 (マル さん) に返信
> いつもここで勉強させて頂いています。
>
> ネットでぐぐったりしたのですがわからないところがあったので
> ここで質問投稿させて頂きました。
>
> テキストファイルに記述されている行の修正や削除って
> 可能でしょうか?
>
> 参考書やネットでぐぐってもその情報が見つかりませんでした。
>
> どなたか教授お願いします。
>
> VisualBasic 2005

ハードディスク上のファイルに対して直接、ピンポイントで行なう事は無理です。
ファイルを読み込みつつ、別のファイルに出力する時に削除分を除いて書き込むとか
一旦メモリ上に全て読み込んでしまって不要分をメモリ上で削除編集した結果を
ファイルに書き出すとかしないとできないと思いますよ。

引用返信 編集キー/
■20014 / inTopicNo.3)  Re[1]: テキストファイルの一部分の行の修正・削除
□投稿者/ やじゅ (433回)-(2008/06/04(Wed) 11:30:25)
No20011 (マル さん) に返信
> ネットでぐぐったりしたのですがわからないところがあったので
> ここで質問投稿させて頂きました。

どのようなキーワードでぐぐったのでしょうか?
「テキスト ファイル 編集 VB.net」で検索とか

> テキストファイルに記述されている行の修正や削除って
> 可能でしょうか?

可能かどうか聞かれると、「可能です」という答えになってしまいますね。

ようは何が分からないのでしょうか?
・テキストファイルの読込
・テキストファイルの編集
・テキストファイルの保存

もう一歩踏み込んだ質問がお願いしたいです。
引用返信 編集キー/
■20015 / inTopicNo.4)  Re[2]: テキストファイルの一部分の行の修正・削除
□投稿者/ マル (2回)-(2008/06/04(Wed) 11:30:26)
PATIOさん

早々の返信ありがとうございます。

やはりそうでしたか・・・
いくら探しても見つからなかったのでそれはできないのかな?って
思ってたりしていました。

>一旦メモリ上に全て読み込んでしまって不要分をメモリ上で削除編集した結果を
>ファイルに書き出すとかしないとできないと思いますよ。
最終的、この方法で行おうと思っていましたのでこの方法をとります。

ありがとうございました。
引用返信 編集キー/
■20017 / inTopicNo.5)  Re[3]: テキストファイルの一部分の行の修正・削除
□投稿者/ マル (3回)-(2008/06/04(Wed) 11:34:40)
やじゅさん

>どのようなキーワードでぐぐったのでしょうか?
>「テキスト ファイル 編集 VB.net」で検索とか
検索ワードは「テキストファイル 修正 削除 編集 編集モード WriteLine Filestream」など
いろんなワードを組み合わせてぐぐってみました。


>ようは何が分からないのでしょうか?
>・テキストファイルの読込
>・テキストファイルの編集
>・テキストファイルの保存
テキストファイルの編集の方法がわからないのです。

テキストファイルの次の行の0の部分をカウントしたいのです。
[ PC_name,******,0 ]
0→1→2 と数値の部分を編集できるようにしたいです。

できますでしょうか?

よろしくお願いします。
引用返信 編集キー/
■20018 / inTopicNo.6)  Re[4]: テキストファイルの一部分の行の修正・削除
□投稿者/ PATIO (78回)-(2008/06/04(Wed) 11:43:29)
No20017 (マル さん) に返信

> テキストファイルの次の行の0の部分をカウントしたいのです。
> [ PC_name,******,0 ]
> 0→1→2 と数値の部分を編集できるようにしたいです。

書き換え前と書き換え後のサイズが全く同じなら出来なくはないかと思いますが、
削除は無理ですね。
書き換えたい位置にファイルポインターを移動して狙い撃ちで上書きします。
但し、一文字の場所に一文字上書きは出来ますが、一文字しかない所に
二文字は書けません。書くと後続のデータが上書きされてしまいますから。

前にも書いてますが、要件に削除が出た時点でファイル上で直接編集は無理です。
引用返信 編集キー/
■20020 / inTopicNo.7)  Re[5]: テキストファイルの一部分の行の修正・削除
□投稿者/ マル (4回)-(2008/06/04(Wed) 11:50:39)
ありがとうございます!!

> 書き換えたい位置にファイルポインターを移動して狙い撃ちで上書きします。
> 但し、一文字の場所に一文字上書きは出来ますが、一文字しかない所に
> 二文字は書けません。書くと後続のデータが上書きされてしまいますから。

上記の部分がとても気になったのですが上書きはどう行うんでしょうか?

やはりこの方法でしょうか?
>一旦メモリ上に全て読み込んでしまって不要分をメモリ上で削除編集した結果を
>ファイルに書き出すとかしないとできないと思いますよ。

ちなみにデータは二文字と決まっています。
決まっているのであればPATIOさんに教えて頂いた方法ならできると思うのですが
もう少しヒントを頂けませんでしょうか?

よろしくお願い致します。
引用返信 編集キー/
■20024 / inTopicNo.8)  Re[6]: テキストファイルの一部分の行の修正・削除
□投稿者/ PATIO (80回)-(2008/06/04(Wed) 12:12:02)
No20020 (マル さん) に返信
>>書き換えたい位置にファイルポインターを移動して狙い撃ちで上書きします。
>>但し、一文字の場所に一文字上書きは出来ますが、一文字しかない所に
>>二文字は書けません。書くと後続のデータが上書きされてしまいますから。
>
> 上記の部分がとても気になったのですが上書きはどう行うんでしょうか?
>
> やはりこの方法でしょうか?
> >一旦メモリ上に全て読み込んでしまって不要分をメモリ上で削除編集した結果を
> >ファイルに書き出すとかしないとできないと思いますよ。
>
> ちなみにデータは二文字と決まっています。
> 決まっているのであればPATIOさんに教えて頂いた方法ならできると思うのですが
> もう少しヒントを頂けませんでしょうか?

私はVCの人だったりするのでVBでの実装は書けませんけれど、
ファイルをオープンして該当位置にファイルポインターを移動させます。
その位置で書き込めば上書きになります。
VBでのファイル操作は御自分で調べて見てください。

ファイルを直接扱う場合、失敗してしまうとファイルを壊してしまう事があるので
慎重にやった方がいいです。バックアップしておくのは必須ですね。
私自身としてはメモリ上に読み込んで編集した方が簡単だし、
デバッグもやりやすいと思います。
メモリ上で読み込んで編集するのを避けたい理由があるならそれを書いた方が
良いと思いますよ。
リーズナブルならそれも有りでしょうし、回避策があるならなにか提案が出るかも
知れません。

引用返信 編集キー/
■20055 / inTopicNo.9)  Re[6]: テキストファイルの一部分の行の修正・削除
□投稿者/ Azulean (139回)-(2008/06/04(Wed) 23:01:21)
> 上記の部分がとても気になったのですが上書きはどう行うんでしょうか?
メモ帳などにある「上書き保存」は大抵、次のどちらかでしょう。

・メモリ上に前のデータを全て読み込んでおき、同じ名前のファイル(の中身)を消して、新しく書き込む。
・別の場所に一時的なファイルとして書き写し、元の場所に移動(コピー)する。
引用返信 編集キー/
■20071 / inTopicNo.10)  Re[6]: テキストファイルの一部分の行の修正・削除
□投稿者/ いしだ (123回)-(2008/06/05(Thu) 10:48:37)
> ちなみにデータは二文字と決まっています。
> 決まっているのであればPATIOさんに教えて頂いた方法ならできると思うのですが
> もう少しヒントを頂けませんでしょうか?
キーワードとしては、
Seek
じゃないでしょうか。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -