JAVA JDK里面一些文件读写操作的类,例如 File FileInputStream InputStreamReader FileReader BufferedReader等都让人搞不清楚他们之间的关系。
现在先理清他们各自的作用,以及相互之间的关系。
File 的作用是定位到要操作的文件。要对哪一个文件进行操作,首先得要明确。文件可为 文本文件,音频,图像,视频等。
FileInputSteam 是把文件的内容读到缓存中,即对指定文件的内容进行操作。以字节为单位的流处理。与编码无关,不存在乱码问题。
InputStreamReader FileReader BufferedReader 对缓存中的数据流进行相应的编码,把字节变为字符。这三个的作用是一样的,只是一些操作不同而已,比如BufferedReader 可以进行行处理。 处理的文件为 文本文件。
同样 FileOutputStream 也是以字节为单位的流处理,处理二进制形式数据。
OutputStreamWriter PrintWriter FileWriter 是对字符的操作。
读操作三种方式:
1 : BufferReader2 : FileReader
3 : InputStreamReader
写文件得三种方式:
1 :PrintWriter
2 :FileWriter
3 :OutputStreamWriter