ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파일 다루기2
    c# 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();

            }

        }

    }



    'c#' 카테고리의 다른 글

    IP주소 가져 오기  (0) 2017.05.07
    비동기 방식의 파일 복사(async)  (0) 2017.05.07
    파일 다루기1  (0) 2017.05.06
    out:출력 전용 매개변수  (0) 2017.05.06
    데이터 타입  (0) 2017.05.06
Designed by Tistory.