[C#] Bin 파일 읽기 데이터
본문
1. 100바이트 단위로 끊어서 파일 읽기
private void btn_file_path_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDlg = new OpenFileDialog();
openFileDlg.DefaultExt = "bin";
openFileDlg.Filter = "BIN Files(*.bin)|*.bin";
openFileDlg.ShowDialog();
string fileName = "";
int fsLen = 0;
int limit = 100;
if (openFileDlg.FileName.Length > 0)
{
fileName = openFileDlg.FileName;
lbl_path.Text = fileName;
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
fsLen = (int)fs.Length;
int count = 0;
int all_count = 0;
StringBuilder sb = new StringBuilder();
byte[] read_buff = new byte[limit];
while ( (count = fs.Read(read_buff, 0, limit)) > 0)
{
for(var i = 0; i < count; i++)
{
sb.Append(Convert.ToString(read_buff[i], 16).PadLeft(2, '0'));
}
all_count += count;
rtxb_bin.AppendText(sb.ToString() + "\n");
}
}
}
2. 한번에 전체 읽기
private void btn_file_path_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDlg = new OpenFileDialog();
openFileDlg.DefaultExt = "bin";
openFileDlg.Filter = "BIN Files(*.bin)|*.bin";
openFileDlg.ShowDialog();
string fileName = "";
int fsLen = 0;
int limit = 100;
if (openFileDlg.FileName.Length > 0)
{
fileName = openFileDlg.FileName;
byte[] fileBytes = File.ReadAllBytes(fileName);
StringBuilder sb2 = new StringBuilder();
for (var i = 0; i < fileBytes.Length; i++)
{
sb2.Append(Convert.ToString(fileBytes[i], 16).PadLeft(2, '0'));
}
rtxb_allbin.AppendText(sb2.ToString());
}
}
관련자료
-
링크
-
이전
-
다음