카테고리 없음

C#(씨샵) 문법 배우기_ 스트링버퍼를 활용하자

tomato23 2016. 3. 28. 16:12





       StreamReader ccc = new StreamReader("textFile1.txt");

▲  스트림리더는 그야말로 리더기입니다. 일단 ccc라는 리더기를  생성하고 대상 텍스트 파일을 선택하겠습니다. 

            string bbb = " ";

▲  ccc라는 리더기를 통해 파일을 한줄 씩 읽으면 그 스트링 정보를 저장할 장소가 필요합니다. bbb에 저장하기로 합니다. 

            while (ccc != null )    

▲  텍스트 파일이 있는지, 공갈은 아닌지. 먼저 판단합니다. 있다는 확신이 들면 이제부터 while문으로 ccc 리더기를 계속 괴롭힐 수 있습니다. (좀 있다가 .close로 닫을 때까지요)

            {

                if (bbb != null)

▲  bbb에 한라인씩 저장한다고 했지요? 저장된 게 없다면 텍스트 파일 끝까지 갔다는 뜻이되겠지요. 첫 루프는 bbb를 생성할 때 공백을 미리 대입시켜 놨으므로 간단하게 통과가능합니다. 


                {

                    Console.WriteLine("읽을 라인 버퍼가 있군요!");

▲  이 if문을 통과했다는 건 읽을만한 라인이 있다는 뜻이 되겠습니다. (물론 첫 루푸를 통과한 이유는 초기화 할 때 공백을 넣었기 때문이고요.)

                   Console.WriteLine(bbb);

                   bbb = ccc.ReadLine(); 

▲ bbb를 출력하고 텍스트 파일의 다음라인을 읽어드립니다. foreach문처럼 자동으로 지가 다음 진행할 절차를 준비하게 되는 것이지요. 다음 라인을 부른적 없는데 다음 라인이 자동으로 불러들여지니 헛갈릴 수 있습니다. 

                    

                }

                else

                {

                    Console.WriteLine(" 드디어 버퍼가 버퍼가 비었습니다.");

▲ if문을 통과 못한걸 보니 bbb가 null이란 뜻이군요? 그러니 안내 메시지 출력한번 해주겠습니다.

                    ccc.Close();

▲ 파일을 끝까지 읽었으니 bbb가 null일 것이고. 끝까지 읽은 마당에 더이상 리더기 ccc를 열어둘 필요가 없으니 닫겠습니다. (안 닫으면 귀신처럼 메모리상에 떠돌게 됩니다.)

                    Console.ReadLine();

▲ 지금까지 쌓아놓은 출력 할 것들을 한번에 뿌려봅니다.

                }

                

            }

        }

반응형