資源簡介
創建一個windows應用程序,打開一個標準的對話框,指定讀取的文件,然后把改文件顯示為二進制,在多行文本中逐個顯示文件中的每個字節,每行顯示16個字節。以16進制格式顯示該字節的值。排列整齊,采用FileStream類

代碼片段和文件信息
using?System;
using?System.ComponentModel;
using?System.IO;
using?System.Text;
using?System.Windows.Forms;
namespace?BinaryFileReader
{
????public?partial?class?Form1?:?Form
????{
????????private?readonly?OpenFileDialog?chooseOpenFileDialog?=?new?OpenFileDialog();??//文件對話框
????????private?string?chosenFile;????????????//當前文件路徑?????????????????????????????????
???????//處理菜單和文件對話框的程序
????????public?Form1()
????????{
????????????InitializeComponent();
????????????menuFileOpen.Click?+=?OnFileOpen;?
????????????????
????????????chooseOpenFileDialog.FileOk?+=OnOpenFileDialogOK;
????????}
????????private?void?OnFileOpen(object?Sender?EventArgs?e)
????????{
????????????chooseOpenFileDialog.ShowDialog();
????????}
????????private?void?OnOpenFileDialogOK(object?Sender?CancelEventArgs?e)
????????{
????????????chosenFile?=?chooseOpenFileDialog.FileName;
????????????Text?=?Path.GetFileName(chosenFile);//從其獲取文件名和擴展名的路徑字符串。?
????????????DisplayFile();
????????}
????????//讀取選中的文件并顯示;
????????private?void?DisplayFile()
????????{
????????????int?nCols?=?16;
????????????FileStream?inStream?=?new?FileStream(chosenFile?FileMode.OpenFileAccess.Read);//實例化FileStream
????????????long?nBytesToRead?=?inStream.Length;??//確定文件有多少個字節;
????????????//if?(nBytesToRead?>?65536?/?4)???
????????????//????nBytesToRead?=?65536?/?4;
????????????int?nLines?=?(int)(nBytesToRead?/?nCols)?;//計算總共顯示多少行;
????????????string[]?lines?=?new?string[nLines];
????????????int?nBytesRead?=?0;//讀取的字節數
????????????for?(int?i?=?0;?i?????????????{
????????????????StringBuilder?nextLine?=?new?StringBuilder();//構造每一文本行
????????????????//nextLine.Capacity?=?4?*?nCols;
????????????????for?(int?j?=?0;?j?????????????????{
????????????????????int?nextByte?=?inStream.ReadByte();
????????????????????nBytesRead++;
????????????????????//if?(nextByte?0?||?nBytesRead?>?65536)
????????????????????//????break;
????????????????????char?nextChar?=?(char)nextByte;//強制轉換為字符
???????????????????
????????????????????if?(nextChar?16)??//值小于16的字符的顯示方法
????????????????????????nextLine.Append(“?x0“?+?string.Format(“{01:X}“?(int)nextChar));
????????????????????//else?if
????????????????????//????(char.IsLetterOrDigit(nextChar)?||?char.IsPunctuation(nextChar))
????????????????????//????nextLine.Append(“??“?+?nextChar?+?“??“);
????????????????????else
????????????????????????nextLine.Append(“?x“?+?string.Format(“{02:X}“?(int)nextChar));
????????????????????????????????????????????????????????????
????????????????}
????????????????lines[i]?=?nextLine.ToString();
????????????}
????????????inStream.Close();
????????????//textBoxContents.Lines?=?lines;
????????????richTextBox1.Lines?=?lines;
????????}
?????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9216??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\bin\Debug\BinaryFileReader.exe
?????文件??????22016??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\bin\Debug\BinaryFileReader.pdb
?????文件??????14328??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\bin\Debug\BinaryFileReader.vshost.exe
?????文件????????490??2007-07-21?01:33??BinaryFileReader\BinaryFileReader\bin\Debug\BinaryFileReader.vshost.exe.manifest
?????目錄??????????0??2011-03-31?11:19??BinaryFileReader\BinaryFileReader\bin\Debug
?????目錄??????????0??2011-03-31?11:18??BinaryFileReader\BinaryFileReader\bin
?????文件???????3776??2008-03-02?16:19??BinaryFileReader\BinaryFileReader\BinaryFileReader.csproj
?????文件???????3009??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\Form1.cs
?????文件???????3163??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\Form1.Designer.cs
?????文件???????6011??2011-03-31?14:42??BinaryFileReader\BinaryFileReader\Form1.resx
?????文件???????2182??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\obj\Debug\BinaryFileReader.csproj.FileListAbsolute.txt
?????文件????????847??2011-03-31?14:42??BinaryFileReader\BinaryFileReader\obj\Debug\BinaryFileReader.csproj.GenerateResource.Cache
?????文件???????9216??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\obj\Debug\BinaryFileReader.exe
?????文件????????180??2011-03-31?14:42??BinaryFileReader\BinaryFileReader\obj\Debug\BinaryFileReader.Form1.resources
?????文件??????22016??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\obj\Debug\BinaryFileReader.pdb
?????文件????????180??2011-03-31?11:19??BinaryFileReader\BinaryFileReader\obj\Debug\BinaryFileReader.Properties.Resources.resources
?????目錄??????????0??2011-03-31?11:18??BinaryFileReader\BinaryFileReader\obj\Debug\TempPE
?????目錄??????????0??2011-04-01?10:16??BinaryFileReader\BinaryFileReader\obj\Debug
?????目錄??????????0??2011-03-31?11:18??BinaryFileReader\BinaryFileReader\obj
?????文件????????468??2008-03-02?16:19??BinaryFileReader\BinaryFileReader\Program.cs
?????文件???????1422??2008-03-02?16:19??BinaryFileReader\BinaryFileReader\Properties\AssemblyInfo.cs
?????文件???????2545??2008-03-02?16:19??BinaryFileReader\BinaryFileReader\Properties\Resources.Designer.cs
?????文件???????5612??2008-03-02?16:19??BinaryFileReader\BinaryFileReader\Properties\Resources.resx
?????文件????????982??2008-03-02?16:19??BinaryFileReader\BinaryFileReader\Properties\Settings.Designer.cs
?????文件????????249??2008-03-02?16:19??BinaryFileReader\BinaryFileReader\Properties\Settings.settings
?????目錄??????????0??2008-03-06?12:54??BinaryFileReader\BinaryFileReader\Properties
?????目錄??????????0??2011-04-01?10:16??BinaryFileReader\BinaryFileReader
?????文件????????938??2008-03-02?16:19??BinaryFileReader\BinaryFileReader.sln
????..A..H.?????15872??2011-04-01?11:09??BinaryFileReader\BinaryFileReader.suo
?????目錄??????????0??2011-03-31?11:24??BinaryFileReader
............此處省略3個文件信息
- 上一篇:EC_PORT網上購物系統
- 下一篇:CC2530-HMC5883L通過I2C通信
評論
共有 條評論