Từ 1 tới 1 trên tổng số 1 kết quả

Đề tài: Cách truyền dữ liệu mảng byte qua cổng com và ghi dữ liệu về file ban đầu?

  1. #1
    Ngày gia nhập
    12 2012
    Bài viết
    3

    Mặc định Cách truyền dữ liệu mảng byte qua cổng com và ghi dữ liệu về file ban đầu?

    Mình đang làm đồ án truyền file(bất kỳ) qua cổng com. Hiện tại mình đã dọc được chuỗi file thành mảng byte nhưng phần truyền mảng byte và nhận ( ghi ra thành file) mình vẫn chưa thực hiện được. Mình cũng đã có tham khảo code của bạn " thanhtanh" trong bài " Truyền file qua serialPort dùng Write(Byte[] buffer,int offset, int count) như thế nào?" trong box này nhưng vẫn không hiểu lắm. dưới đây là code của mình các bạn xem hộ mình phần mã hóa và giải mã.
    Visual C# Code:
    1.         public static void Binary(string[] args)
    2.         {
    3.             EncodeBinaryFileToTextFile("test.mdb", "encodedtestmdb.txt");
    4.             DecodeTextFileFromBinaryFile("encodedtestmdb.txt", "test3.mdb");
    5.         }
    6.  
    7.         public static void EncodeBinaryFileToTextFile(string inputFileName, string outputFileName)
    8.         {
    9.             FileStream inFile;
    10.             byte[] binaryData;
    11.  
    12.             //chuyển file sang binary
    13.             try
    14.             {
    15.                 inFile = new System.IO.FileStream(inputFileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
    16.                 binaryData = new Byte[inFile.Length];
    17.                 long bytesRead = inFile.Read(binaryData, 0, (int)inFile.Length);
    18.                 inFile.Close();
    19.             }
    20.             catch (System.Exception exp)
    21.             {
    22.                 System.Console.WriteLine("{0}", exp.Message);
    23.                 return;
    24.             }
    25.  
    26.             // Chuyển đổi các đầu vào nhị phân thành đầu ra uuencoded Base64.
    27.             string base64String;
    28.             try
    29.             {
    30.                 base64String = System.Convert.ToBase64String(binaryData, 0, binaryData.Length);
    31.                
    32.             }
    33.             catch (System.ArgumentNullException)
    34.             {
    35.                 System.Console.WriteLine("Binary data array is null.");
    36.                 return;
    37.             }
    38.  
    39.             // Viết phiên bản uuencoded tập tin đầu ra
    40.             System.IO.StreamWriter outFile;
    41.             try
    42.             {
    43.                 outFile = new System.IO.StreamWriter(outputFileName, false, System.Text.Encoding.ASCII);
    44.                 outFile.Write(base64String);
    45.                 outFile.Close();
    46.             }
    47.             catch (System.Exception exp)
    48.             {
    49.                 System.Console.WriteLine("{0}", exp.Message);
    50.             }
    51.         }
    52.         private void button3_Click(object sender, EventArgs e)
    53.         {
    54.             byte[] array = File.ReadAllBytes(textBox1.Text);
    55.             for (int i = 0; i < array.Length; i++)
    56.                 textBox2.Text = Convert.ToString(array[i]);
    57.         }
    58.  
    59.        
    60.        
    61.         // hàm ghi file từ chỗi byte
    62.  
    63.        
    64.         private void WriteFile(String file)
    65.         {
    66.             StreamWriter sw = new StreamWriter(file, false,Encoding.Unicode);
    67.             foreach (string line in lstDisplay.Lines)
    68.             {
    69.                 sw.WriteLine(line);
    70.             }
    71.             sw.Close();
    72.  
    73.         }
    74.  
    75.         public static void DecodeTextFileFromBinaryFile(string inputFileName, string outputFileName)
    76.         {
    77.             System.IO.StreamReader inFile;
    78.             string base64String;
    79.  
    80.             try
    81.             {
    82.                 //nhận được chuỗi từ tập tin văn bản
    83.                 char[] base64CharArray;
    84.                 inFile = new System.IO.StreamReader(inputFileName, System.Text.Encoding.ASCII);
    85.                 base64CharArray = new char[inFile.BaseStream.Length];
    86.                 inFile.Read(base64CharArray, 0, (int)inFile.BaseStream.Length);
    87.                 base64String = new string(base64CharArray);
    88.             }
    89.             catch (System.Exception exp)
    90.             {
    91.                 System.Console.WriteLine("{0}", exp.Message);
    92.                 return;
    93.             }
    94.  
    95.             // Chuyển đổi đầu vào Base64 uuencoded vào đầu ra nhị phân.
    96.             byte[] binaryData;
    97.             try
    98.             {
    99.                 binaryData = System.Convert.FromBase64String(base64String);
    100.             }
    101.             catch (System.ArgumentNullException)
    102.             {
    103.                 System.Console.WriteLine("Base 64 string is null.");
    104.                 return;
    105.             }
    106.             catch (System.FormatException)
    107.             {
    108.                 System.Console.WriteLine("Base 64 string length is not 4 or is not an even multiple of 4.");
    109.                 return;
    110.             }
    111.  
    112.             // Viết ra các dữ liệu được giải mã.
    113.             System.IO.FileStream outFile;
    114.             try
    115.             {
    116.                 outFile = new System.IO.FileStream(outputFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
    117.                 outFile.Write(binaryData, 0, binaryData.Length);
    118.                 outFile.Close();
    119.             }
    120.             catch (System.Exception exp)
    121.             {
    122.                 System.Console.WriteLine("{0}", exp.Message);
    123.             }
    124.         }
    125.  
    126.        
    127.  
    128.     }
    129. }
    Còn đính kèm là project
    Attached Files Attached Files
    Đã được chỉnh sửa lần cuối bởi huyhung2702 : 24-12-2012 lúc 12:35 PM.

Các đề tài tương tự

  1. Truyền file qua serialPort dùng Write(Byte[] buffer,int offset, int count) như thế nào?
    Gửi bởi ctlt13 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 23
    Bài viết cuối: 19-04-2016, 10:33 AM
  2. Lập trình C chia số 2 byte cho số 1 byte và cho kết quả thương là số 2 byte và phần dư là số 1 byte
    Gửi bởi sakurai111 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 17-11-2012, 10:58 PM
  3. Cách đọc file ảnh thành từng byte?
    Gửi bởi HUMG.ThongIT trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 15
    Bài viết cuối: 12-12-2011, 10:27 AM
  4. Open file từ 1 mảng kiểu byte
    Gửi bởi Michael trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 30-09-2011, 12:51 PM
  5. Đọc 45 byte đầu của 1 File exe mà sao chỉ được có 3 Byte
    Gửi bởi cSharp trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 08-02-2009, 10:25 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn