using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace BitConverter
{
class Program
{
const string fileName = "BitConverter.txt";
static void Main(string[] args)
{
long longValue = 1234567890123456789;
int intValue = 100;
string stringValue = "IZONE";
char[] charArrayValue = stringValue.ToCharArray();
Console.WriteLine("Default Data");
Console.WriteLine("----------------------");
Console.WriteLine(longValue);
Console.WriteLine(intValue);
Console.WriteLine(stringValue);
Console.WriteLine();
/* Write Start */
Stream writeStream = new FileStream(fileName, FileMode.Create);
/* Long Test */
byte[] writeByBytes = BitConverter.GetBytes(longValue);
Console.WriteLine("Byte Data");
Console.WriteLine("----------------------");
Console.Write("Byte : ");
foreach (var item in writeByBytes)
{
/* 2진수 출력 0:X */
Console.Write("{0:X2} ", item);
}
Console.WriteLine();
writeStream.Write(writeByBytes, 0, writeByBytes.Length);
/* Integer Test */
writeByBytes = BitConverter.GetBytes(intValue);
Console.Write("Byte : ");
foreach (var item in writeByBytes)
{
Console.Write("{0:X2} ", item);
}
Console.WriteLine();
writeStream.Write(writeByBytes, 0, writeByBytes.Length);
Console.Write("Byte : ");
/* CharArray Test */
foreach (var item in charArrayValue)
{
byte[] writeByByte = BitConverter.GetBytes(item);
writeStream.Write(writeByByte, 0, writeByByte.Length - 1);
Console.Write("{0:X2} ", Convert.ToInt32(item));
}
Console.WriteLine("\n");
writeStream.Close();
/* Write End */
/* Read Start */
FileStream readStream = new FileStream(fileName, FileMode.Open);
byte[] readBytes = new byte[sizeof(long)];
readStream.Read(readBytes, 0, readBytes.Length);
long readLongValue = BitConverter.ToInt64(readBytes, 0);
readBytes = new byte[sizeof(int)];
readStream.Read(readBytes, 0, readBytes.Length);
int readIntValue = BitConverter.ToInt32(readBytes, 0);
string readStringValue = "";
readBytes = new byte[readStream.Length];
readStream.Read(readBytes, 0, readBytes.Length);
foreach (var item in readBytes)
{
readStringValue += (char)item;
}
Console.WriteLine("Result Data");
Console.WriteLine("----------------------");
Console.WriteLine(readLongValue);
Console.WriteLine(readIntValue);
Console.WriteLine(readStringValue);
readStream.Close();
/* Read End */
}
}
}
----------------------------------------------------
Default Data
----------------------
1234567890123456789
100
IZONE
Byte Data
----------------------
Byte : 15 81 E9 7D F4 10 22 11
Byte : 64 00 00 00
Byte : 49 5A 4F 4E 45
Result Data
----------------------
1234567890123456789
100
IZONE