제가 메모장을 만들고있었는데. 스트림리더를 생성하여, intro.txt를 불러와
textbox1.text에 똑같이 복사해 넣는 작업을 하고있었는데.
실행하여보니 한글이 깨지는것입니다. 해결방법좀 알려주세요.
>> [소스코드]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myReader As StreamReader = New StreamReader(File.Open("intro.txt", FileMode.Open, FileAccess.Read))
TextBox1.Text = myReader.ReadToEnd()
End Sub
>>[질문목록]
01. myReader.Read를 통해서 파일의 끝까지 읽는방법을 알려주세요. C같은경우에는 반환값을통해
몇글자읽었는지 반환하고, 0이면 파일의끝임을 나타내잖아요. 그런것처럼 반환값을통해서 루프돌아서
텍스트박스에 출력하는방법을 알려주세요.
02. 텍스트를 읽어와 버퍼에 저장한후. 버퍼를 인코딩해서 textbox1.text 넣는방법을 알려주세요
첫댓글 음. 단순히 메모장을 읽기만 하는 경우라면, VB 2005이상 부터는 (VB2003에선 지원하지 않습니다.) My.Computer.FileSystem 의 파일 읽기 기능을 활용하시면 편합니다. (1줄로 끝나요.)
먼저 읽어오고자하는 파일을 파일스트림 객체로 생성합니다. 그리고 스트림리더 객체를 가지고 읽어온 스트림을 인코딩후 파일끝까지 읽어오면 됩니다. 이렇게.. Dim fs As FileStream = New FileStream("intro.txt", FileMode.OpenOrCreate) Dim sr As StreamReader = New StreamReader(fs, System.Text.Encoding.Default) sr.BaseStream.Seek(0, SeekOrigin.Begin) Dim strtemp As String While (sr.Peek() > -1) strtemp = sr.ReadLine => 이부분이 한줄씩 읽어온 값입니다. End While fs.Close() sr.Close()
그렇게 하실 필요 없고 단순히 읽고 끝나는 거면 My.Computer.FileSystem 의 한줄로도 충분해요. 파일 스트림은 파일 전송기 같은 파일을 분할해서 읽을 필요가 있을때 쓰는게 낳죠..
헉 자동 줄바꿈이 안되네요...다음카페가 원래이런건지....가독성이 쪼금 힘들듯 하네요..
네