ASP/ADO.Net C# 실무 과정 자료] StreamReader/Writer의 메소드







ASP/ADO.Net C# 실무 과정 자료] StreamReader/Writer의 메소드

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


StreamReader/Writer의 메소드


■ StreamReader.ReadLine()

- 파일에서 한 줄을 읽어 string 형으로 바꾸어 준다. 인코딩과정도 포함되어 있다.



■ StreamWriter.WriteLine(object)

- StreamWriter의 파일에 한 줄을 쓴다. 줄 바꾸기도 한다. 이 메소드는 Console.WriteLine 메소드와 사용법이 동일하다.



ASP/ADO.Net C# 실무 과정 자료] StreamWrite 인스턴스화







ASP/ADO.Net C# 실무 과정 자료] StreamWrite 인스턴스화

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



StreamWrite 인스턴스화

■ StreamWrite 클래스 역시 StreamReader와 흡사하다. 그리고, 몇가지 오버로딩이 존재한다.

■ 기존 파일이 존재할 때, 이것을 overwrite할지, append할 지를 결정하는 bool 값을 넣어주는 경우도 있다.
(overwrite하면 기존 파일이 지워짐을 기억!)

■ 간단하게 인스턴스를 만들어 보자.
StreamWriter streamWriter =
new StreamWriter(파일명);
 


ASP/ADO.Net C# 실무 과정 자료] StreamReader 인스턴스화







ASP/ADO.Net C# 실무 과정 자료] StreamReader 인스턴스화

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


StreamReader 인스턴스화


■ StreamReader 클래스를 이용하기 위해서는 file을 열어야 한다. StreamReader 생성자에 몇가지 오버로딩이 있다. (검색을 생활화 합시다)



■ 가장 간단한 방법

Stream stream = File.OpenRead(파일명);



■ stream과 encoding방법을 명시할 수 도 있다. 스트림의 메소드를 사용할 필요가 있을때 사용한다. 

Stream stream = File.OpenRead(파일명);

StreamReader streamReader =

new StreamReader(stream, Encoding.Default);


ASP/ADO.Net C# 실무 과정 자료] 입출력 Utility 클래스







ASP/ADO.Net C# 실무 과정 자료] 입출력 Utility 클래스

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



입출력 Utility 클래스


■ 입출력을 편리하게 하기 위한 유틸리티(utility) 클래스가 존재한다.

- System.IO.StreamReader : text파일 읽기


- System.IO.StreamWriter : text파일 쓰기


- System.IO.BinaryReader : 이진파일 읽기


- System.IO.BinaryWriter : 이진파일 쓰기


■ 외부적으로는 ReadLine, WriteLine등의 메소드를 지원하여 편리한 프로그래밍이 가능한다.

ASP/ADO.Net C# 실무 과정 자료] 인코딩 (Encoding)






ASP/ADO.Net C# 실무 과정 자료] 인코딩 (Encoding)

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


인코딩 (Encoding)


■ 문자열을 바이트와 매칭시키는 방법에 따라 유니코드의 사용, ASCII 코드의 사용 등으로 바뀐다. 즉 같은 바이트 배열이라도 다른 문자열이 될 수 있는 것이다.



■ 스트림을 읽고 쓰기 위해서는 코드변환 즉 인코딩이 필요하다. 아래의 예는 str 스트링을 UTF8, ASCII, 시스템디폴트로 각각 인코딩 하여 바이트 배열로 바꾸는 코드이다.


Byte [] b = Encoding.UTF8.GetBytes(str);

Byte [] b = Encoding.ASCII.GetBytes(str);

Byte [] b = Encoding.Default.GetBytes(str);


ASP/ADO.Net C# 실무 과정 자료] Flush와 Close








ASP/ADO.Net C# 실무 과정 자료] Flush와 Close

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


Flush와 Close


■ Flush() 메소드

  - 스트림에 출력해도 바로 파일에 쓰여지는 것은 아니다. 메모리 상에 버퍼되어 있는 경우가 많다. 이때 프로그램의 수행을 중단해 버리면 원하는 출력값을 얻을 수 없다.


  - 따라서, 버퍼된 바이트를 모두 출력하여 버퍼를 비우라는 것을 명시하는 메소드이다.



■ Close() 메소드

- Flush하고, 점유하고 있던 자원을 반환한다. (파일의 경우 파일 닫기) Close하지 않는 경우, 제대로 출력되지 않는 현상이 발생한다.



ASP/ADO.Net C# 실무 과정 자료]  파일 스트림에 쓰기예제 &설명 






ASP/ADO.Net C# 실무 과정 자료]  파일 스트림에 쓰기예제 &설명 

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


파일 스트림에 쓰기예제 &설명 


예제)



설명)

(1) C:\temp.txt 파일을 읽기 용으로 열었다. 그것을 fstream이라 선언했다.


(2) 출력할 바이트의 배열을 구성하였다. 이것은 Hello World의 바이트 구성이다.


(3) Hello World를 0번째 문자 H 부터 그 길이 만큼, 그러니까 Hello World 전체를 fstream에 출력한다.


 (Write(a, 0, a.Length)는 a 전체를 출력하라는 의미로 관용구 처럼 쓰인다.)



ASP/ADO.Net C# 실무 과정 자료] 스트림의 입출력 메소드






ASP/ADO.Net C# 실무 과정 자료] 스트림의 입출력 메소드

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


스트림의 입출력 메소드



■ Write(Byte[] array, int offset, int count);

  - 쓰기 메소드


  - array 바이트 배열을 offset 번째 바이트 부터 count 바이트만큼 write하라는 명령

   예) fileStream.Write(new Byte[3]{1,2,3}, 0, 3)

    결과) fileStream 스트림에 123을 출력한다.


■ Read(Byte[] array, int offset, int count);

  - Write와 동일



+ Recent posts