C#でテキストデータの内容を読み込みbinファイルに書き込むプログラムを作成したいと思っています
DialogResult d = of.ShowDialog();でテキストのパスを取得し(d)
System.IO.FileStream fil = new System.IO.FileStream( @"z:\test.bin",System.IO.FileMode.Create, System.IO.FileAccess.Write);で書き込むbinファイルを新規作成(上書き)しています
テキストデータは16進数で記入してありますがバイナリモードでの書き込みを教えてください。
できれば、プログラムの工程の説明もお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
うん。
余計判らなくなりましたな。
というか、ファイルについての貴方の理解が解らない。
>画像左の文字のほうに
一般的なバイナリエディタなら、その左側に16進数で表記されているのがファイルの内容です。
右側になんか見えるのは、ファイルの各1バイトを対応するASCIIコードの文字を表示しているだけで、『ファイル内の別の内容』ではありません。
ちなみにテキストファイルと言っているのも人間側の都合なだけで、OSからしたらバイナリデータの塊に過ぎません。
# その前提の上ですが、所謂テキストファイルを読み込むのにBinaryReaderクラスは使いません。
No.4
- 回答日時:
>画像左の文字のほうに書き込んでしまうため左のバイナリのほうに書き込めるようにしたいと思っています
??
よけい混乱しましたが
先に返事していた通り
ffという文字を読込んで66, 66
というバイナリデータではなく
FFというバイナリデータにしたいということでしたら
https://dobon.net/vb/dotnet/programing/converthe …
このページのようにテキストデータを1バイトの整数に変換してから
ファイルに書き込めばいいと思います
No.3
- 回答日時:
コードを画像で貼るんじゃなくて、テキストで貼って欲しいところですけどね…。
>DialogResult d = of.ShowDialog();でテキストのパスを取得し(d)
OpenFileDialogクラスで取得…ですよね?
>C#でテキストデータの内容を読み込みbinファイルに書き込むプログラムを作成したいと思っています
StreamReaderで入力のテキストファイルをオープンして、
StreamReader.ReadLine()で1行読み込み。
読み込んだ文字列をByte.Parse()で「16進数文字列から数値」に変換し、FileStream.WriteByte()で書き出す。
ってのを繰り返していけばいいんじゃないですか?
Byte.Parse()の結果をByte[]の配列に格納していって、最後にFileStream.Write()で書き込む…でもいいでしょうけど。
# Byte[]のサイズが確定できるなら。
テキストファイルをBinaryReader経由にする必要性がまったく不明ですが。
BinaryReader.ReadChar()で1文字ずつ改行まで読み込んで…とか、
「1行読み込む」のに手間を掛けたいのであれば問題ありませんけども。
# StreamReader.ReadLine()で読み込んだ方が楽ですけどね。
# 車輪の再発明は時と場合によってはいいんじゃないでしょうか。
No.2
- 回答日時:
>バイナリーの文字列のほうに出力されてしまいました。
ごめんなさい、言っている意味が分かりません
バイナリーはバイナリーだし、文字列は文字列です
最終的に出力したいのは
FF, AA, 99, 00, 54 ~...
というバイナリファイルということですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- Ruby 教えてください 2 2023/01/04 17:50
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルの一部分を抽...
-
テキストファイル内容の、16進...
-
ATTファイルってどうやって開け...
-
テキストファイルの特定行の削...
-
テキストファイル固定長データ...
-
VBA。開いているテキストファイ...
-
C# 文字コード変換
-
[VB.NET] 処理の高速化を行いた...
-
StreamReaderで読み込んだファ...
-
VBscriptでWebサイトから取得し...
-
JFreechartの使い方
-
既存のテキストファイルを開く方法
-
C言語のソースからコメントを抜...
-
C#テキストファイルから1バイト...
-
CSVファイルの時刻の形式について
-
JavaでPDFファイルに変換するに...
-
COBOL FILLER
-
【Excel VBA】取り込んだファイ...
-
accessでクエリをExcelにエクス...
-
GetOpenFileName()について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
Excel VBAが徐々に遅くなる
-
テキストファイルの一部分を抽...
-
既存のテキストファイルを開く方法
-
テキストファイル(英語&日本...
-
VB(VBA)で、バイナリデータを使...
-
パイソンでのテキストデータの...
-
VBA。開いているテキストファイ...
-
テキストファイルの特定行の削...
-
テキストファイル内容の、16進...
-
StreamReaderで読み込んだファ...
-
テキストファイル固定長データ...
-
ファイル変換
-
STM32 Nucleo-F446REでデータを...
-
テキストファイルで一番使われ...
-
エクセルVBAでメールの自動作成...
-
テキストファイルのログをExcel...
-
UTF-8とASCIIコードにおける互...
-
テキストファイル内の文字の有...
-
フォーム無しでアプリを作成す...
おすすめ情報
そのサイトを参考に組んでみたのですがバイナリーの文字列のほうに出力されてしまいました。
文字列ではないほうの出力方法をお願いします。
そうです
画像では見にくかったですね。
画像左の文字のほうに書き込んでしまうため左のバイナリのほうに書き込めるようにしたいと思っています。テキストから文字データを読み込み .binのファイルに書き込みたいです。宜しくお願いします
private void button1_Click(object sender, EventArgs e)
OpenFileDialog of = new OpenFileDialog();
DialogResult d = of.ShowDialog();
if (d == DialogResult.OK)
string file = of.FileName;
textBox1.Text += file;
FileStream fs = new FileStream(file,FileMode.Open,FileAccess.Read, FileShare.None);
BinaryReader br = new BinaryReader(fs);
System.IO.FileStream fil = new System.IO.FileStream