File 클래스를 사용할 때도,
Open, OpenRead, ReadAllBytes, ReadAllLines, ReadAllText...
FileStrea 클래스를 사용할 때도,
Read, ReadByte...
이렇게 다양한 방법으로 읽어올 수 있는데,
// Open the stream and read it back.
using (FileStream fs = File.OpenRead(path))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b,0,b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
}
저 링크에 있는 예제처럼은 사용하지 말아야 한다.
이유는 잘 모르겠지만 (내가 잘못한 것일 수 있음. 사실 이 확률이 젤 높음 -0-)
파일을 끝까지 못 읽는 문제가 발생한다.
왠지는 모르겠다고 -_-;;;
그냥 File.ReadAllBytes 로 읽어들이거나,
FileStream 의 ReadBytes 를 사용하는 것이 좋을 듯 하다.
using (FileStream fsSource = new FileStream(pathSource,
FileMode.Open, FileAccess.Read))
{
// Read the source file into a byte array.
byte[] bytes = new byte[fsSource.Length];
int numBytesToRead = (int)fsSource.Length;
int numBytesRead = 0;
while (numBytesToRead > 0)
{
// Read may return anything from 0 to numBytesToRead.
int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);
// Break when the end of the file is reached.
if (n == 0)
break;
numBytesRead += n;
numBytesToRead -= n;
}
}
이 링크에 있는 예제는 문제 없이 잘 동작한다.
No comments:
Post a Comment