DOBON.NET DOBON.NETプログラミング掲示板過去ログ

バイナリ型で表記する

分類:[.NET]

ファイルの書込み&読込をバイナリファイルで扱いたいのですが、
バイナリ型で表したいので下記のような文章で作ってみたのですが
普通にcsv&txt型でしたファイル書込み&読込ができませんでした。
   *下記失敗例
' Const savefile As String = "C:\memo.txt"
' タイトルバーにメッセージを表示()
' Me.Text = "Binaryモードで書込み中..."
' テキストファイルの保存()
' filenum = FreeFile()
' FileOpen(filenum, savefile, OpenMode.Binary)
' Print(filenum, txt表示.Text)
' FileClose(filenum)
' タイトルバーを元に戻す()
' Me.Text = "Binaryモード"
バイナリで表すことができるなら画像を送付しますが、16進やASCII値で表され
ます。今回私が教えていただきたいのは

1、バイナリファイルで書込み
2、バイナリファイルで読込み
3、バイナリファイルで表示
です。よろしくお願いしますm(__)m
それってEncodingしないとだめですよ

書込と読み込みの方法は、ここのTipsの↓↓ココに詳しく載っているです。

http://dobon.net/vb/dotnet/file/readfile.html
http://dobon.net/vb/dotnet/file/writefile.html
ポンさんご意見ありがとうございますm(__)m
早速書き込み&読み込み見させていただきました。
どうも”Encoding”の意味がわからないのですが
それを使わないとバイナリ(16進数など)で表示でき
ないのですね?初心者なもので詳しく教えていら抱け
ると光栄です。よろしくお願いいたしますm(__)m
■No1738に返信(リンさんの記事)
> ファイルの書込み&読込をバイナリファイルで扱いたいのですが、
> バイナリ型で表したいので下記のような文章で作ってみたのですが
> 普通にcsv&txt型でしたファイル書込み&読込ができませんでした。

> 1、バイナリファイルで書込み
> 2、バイナリファイルで読込み
> 3、バイナリファイルで表示

意味が今ひとつ分からないのですが、とりあえず、ファイルをByte型配列に読み込む、また書き込む、そしてByte型配列を16進数の文字列に変換する方法を簡単に紹介します。


'ファイルを読み込む
Dim fsIn As New System.IO.FileStream(fileName, _
System.IO.FileMode.Open, System.IO.FileAccess.Read)
'すべて読み込む
Dim bytesIn(fsIn.Length - 1) As Byte
fsIn.Read(bytesIn, 0, bytesIn.Length)
'閉じる
fsIn.Close()


'ファイルを書き出す
Dim fsOut As New System.IO.FileStream(fileName, _
System.IO.FileMode.Create, System.IO.FileAccess.Write)
'復号化されたデータを書き出す
fsOut.Write(bytesIn, 0, bytesIn.Length)
'閉じる
fsOut.Close()


'TextBox1に16進数で表示
TextBox1.Text = BitConverter.ToString(bytesIn).Replace("-", "")

DOBON.NET | プログラミング道 | プログラミング掲示板