質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

Q&A

解決済

3回答

11194閲覧

BinaryWriterの追加書き込み方法を教えてください。

fender0131

総合スコア121

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

0グッド

0クリップ

投稿2016/05/20 04:03

いつも大変お世話になっております。

string savePlace3 = @"c:\save\data.dat using (Stream stream = File.OpenWrite(savePlace3)) { using (BinaryWriter writer = new BinaryWriter(stream)) { writer.Write(~); writer.Write(~); } }

という流れで、データをファイルに保存しているのですが、

次回保存時、先ほど作成したファイルに追加書き込みしたいのですが、どのようなコードが必要になってきますでしょうか?

お手数おかけして申し訳ございませんが、どなた様かご指導ご鞭撻の程よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

データを書き出す前に、ストリームをファイル終端に移動させれば良いです。

C#

1writer.Seek(0, SeekOrigin.End); // 書き出す前にファイル終端に移動 2writer.Write(~); 3writer.Write(~);

投稿2016/05/20 05:21

catsforepaw

総合スコア5938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fender0131

2016/05/20 05:36

皆様お答えありがとうございました。 catsforepaw様の方法で無事に思い通りの結果を出力することができました。 大変参考になりました。 ありがとうございます。
guest

0

こんにちは。

ファイル・オープン時にアペンドを指定できることって多いです。C#にもその機能はあるようです。
実際に確かめてはないのですが、恐らく下記でいけると思います。

using (Stream stream = File.Open(savePlace3, FileMode.Append, FileAccess.Write))

投稿2016/05/20 05:18

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

試していませんが。

System.IO.File#AppendTest(string path)でファイルの末尾にテキストを追加できるStreamWriterが取得できるのだそうです。
「ファイルの末尾にテキストを追加できる」ということはStreamの現在位置が末尾まで移動しているのではないかなぁと。
それを利用して

C#

1using (Stream stream = File.AppendText(savePlace3).BaseStream())

のようにすればうまくファイル末尾に追加ができるかもしれません。
試していませんが。

投稿2016/05/20 04:32

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問