c#

파일 다루기2

봄산 2017. 5. 6. 16:31

Stream stream1 = new FileStream("a.dat",FileMode.Create) //새파일 생성

Stream stream2 = new FileStream("a.dat",FileMode.Open) // 파일 열기

Stream stream3 = new FileStream("a.dat",FileMode.OPenCreate) //파일을 열거나 없으면 생성해서 열기

Stream stream4 = new FileStream("a.dat",FileMode.Turncate) // 파일을 비워서 열기

Stream stream5 = new FileStream("a.dat",FileMode.Append) // 덧붙이기 모드로 열기


1.Stream


using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace BasicIO

{

    class Program

    {

        static void Main(string[] args)

        {

            long someValue = 0x123456789ABCDEF0;

            Console.WriteLine("{0,-1} :0x{1:X16}", "Original Data", someValue);


            Stream outStream = new FileStream("a.dat", FileMode.Create);

            byte[] wBytes = BitConverter.GetBytes(someValue);


            Console.Write("{0}:", "Byte Array");


            foreach (byte b in wBytes)

            

                Console.Write("{0:X2} ", b);

              

            

            Console.WriteLine();

            


            outStream.Write(wBytes, 0, wBytes.Length);

            outStream.Close();


            Stream inStream = new FileStream("a.dat", FileMode.Open);


            byte[] rbytes = new byte[8];


            int i = 0;


            while (inStream.Position < inStream.Length)

            

                rbytes[i++] = (byte)inStream.ReadByte();


              


            


            long readValue = BitConverter.ToInt64(rbytes, 0);


            Console.WriteLine("{0,-1} :0x{1:X16}", "readValue Data", readValue);


            inStream.Close();


            Console.ReadKey();

        }

    }

}





















2.BinaryWrite/BinaryRead



            BinaryWriter bw = new BinaryWriter(new FileStream("b.out", FileMode.Create));


            bw.Write(int.MaxValue);

            bw.Write("사전 투표율 25%가 전부 문재인에게 몰표를 줬다면 이제 5월 9일에는 5명 중 1명, 20%만 득표해도 당선은 확정입니다. 얼마나 신나는 일입니까. 생각만 해도 즐거운 상상입니다. 그냥 사전 투표만 개표해서 대통령 확정합시다. 깔끔하게~");

            bw.Write(uint.MaxValue);

            bw.Write("Moon will be Presdent");

            bw.Write(double.MaxValue);


            bw.Close();


            BinaryReader br = new BinaryReader(new FileStream("b.out", FileMode.Open));

            Console.WriteLine("File Size:{0}", br.BaseStream.Length);

            Console.WriteLine("{0}", br.ReadInt32());

            Console.WriteLine("{0}", br.ReadString());

            Console.WriteLine("{0}", br.ReadUInt32());

            Console.WriteLine("{0}", br.ReadString());





3.StremWriter/StreamReader(텍스트 파일 읽고 쓰기)


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.IO;


namespace TextFile

{

    class Program

    {

        static void Main(string[] args)

        {


            StreamWriter sw = new StreamWriter(new FileStream("a.txt", FileMode.Create));


            sw.WriteLine(int.MaxValue);

            sw.WriteLine("Good Morning");

            sw.WriteLine(uint.MaxValue);

            sw.WriteLine("안녕하세요");

            sw.WriteLine(double.MaxValue);


            sw.Close();



            StreamReader sr = new StreamReader(new FileStream("a.txt", FileMode.Open));


            while (sr.EndOfStream == false)

            {

                Console.WriteLine(sr.ReadLine());

            }


            sr.Close();


            Console.ReadKey();

        }

    }

}