プロが教える店舗&オフィスのセキュリティ対策術

C#を使っていますが、だいたい同じだと
思いますのでVBで質問します。
テキストファイルの最終行を
消したいのですが、いい方法は、
ないでしょうか。
(指定行を消す方法でも)
お願いします。

A 回答 (4件)

参照に


Microsoft VisualBasic .NET Runtime
を追加で


static void Main(string[] args)
{
//
// TODO: アプリケーションを開始するコードをここに追加してください。
//

string filepath = "C:\\新規テキスト文書.txt";
System.Text.Encoding enc = System.Text.Encoding.GetEncoding(932);


System.IO.StreamReader sr = new System.IO.StreamReader(filepath, enc);
string[] ss = Microsoft.VisualBasic.Strings.Split(sr.ReadToEnd(),"\r\n",-1, Microsoft.VisualBasic.CompareMethod.Binary);
sr.Close();

System.IO.StreamWriter sw = new System.IO.StreamWriter(filepath, false, enc);
sw.Write(string.Join("\r\n",ss,0,ss.Length-1));
sw.Close();
}
    • good
    • 0
この回答へのお礼

非常に丁寧な回答ありがとうございます。
簡単な命令があると思ったのですが、
なさそうですね。
最後の改行を頼りに作り直そうとは
思ったのですが、1050YENさんの回答を
そのまま、使ってみようと思います。
ありがとうございました。

お礼日時:2005/11/30 01:19

テキストファイルがシーケンシャルファイルとすると、一般のファイルアクセスメソッドを使う限り、削除すると言う概念はありません。

削除した別のファイルを先頭から作り直しになるはずです。
ランダムアクセスは別の仕組みですが。高等なファイルアクセスメソッドでは、それができる風に見せかける仕組みがつくられてますが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
簡単な命令があると思ったのですが、
なさそうですね。
最後の改行をたよりに、ファイルを
修正して、保存しなおそうと思っています。

お礼日時:2005/11/30 01:16

ADOでしたら


Recordset.MoveLast
Recordset.MovePrevious
Recordset.Delete
ではどうですか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
簡単な命令があると思ったのですが、
なさそうですね。
データベースとして使えば
なんとかなりそうですけど、
簡単なものなので、データベース
までは、考えられないのです。

お礼日時:2005/11/30 01:15

line input で読み込んで指定行を削除したあと、というか


指定行をとばして、print で保存したらどうでしょうか?

定石かどうか知りませんが・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
簡単な命令があると思ったのですが、
なさそうですね。
全部を読み込んで、最後の改行
以下を削除することになりそうです。

お礼日時:2005/11/30 01:12

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

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


このQ&Aを見た人がよく見るQ&A