Use array buffer instead of one byte char. Add file open error handling.

Use specific size of array to be store file. But if I read large
file which bigger than buffer, It will have some strange characters that
aren't exist. Sometimes, terminal also doesn't display some characters in
file.
Fix the bug in last commit. Terminal could show text file correctly.