JAVA--转换流,缓冲流与文件字符流

转换流

OutputStreamWriter

将字符转换成字节写出.

构造器

OutputStreamWriter(OutputStream out):创建一个指定字节输出流的字符输出流对象,采用的是系统默认的编码集

OutputStreamWriter(OutputStream out, Charset cs)

OutputStreamWriter(OutputStream out, CharsetEncoder enc)

OutputStreamWriter(OutputStream out, String charsetName)

 创建一个指定字节输出流的字符输出流对象,采用指定编码集。

write(int a):当a的低16位如果被设计成相应的字符时,如果两个字节都是有效字节,会写出两个字节.如果低16位对应的是无效字符,或者有效字节只有一位时,会写出一个字节.

InputStreamReader

将字节转换成字符读出.

构造器:

InputStreamReader(InputStream in) :创建一个使用默认字符集的InputStreamReader。 

InputStreamReader(InputStream in, Charset cs)

InputStreamReader(InputStream in, CharsetDecoder dec)

InputStreamReader(InputStream in, String charsetName)

创建一个使用指定字符集的InputStreamReader

缓冲流

PrintWriter

提供了丰富的方法,比BufferedWriter更加常用,提供了行刷新的功能.

构造器

       PrintWriter(File file)

       PrintWriter(OutputStream out)

       PrintWriter(OutputStream out, boolean autoFlush)       

       PrintWriter(String fileName)

       PrintWriter(Writer out)

       PrintWriter(Writer out, boolean autoFlush)

上述构造器,有第二个参数的,可以设置为true,表示行自动刷新。只有一个参数的构造器,相当于有两个参数的构造器时,第二个参数设置为false的情况,即取消了行自动刷新的功能

常用方法

           void println():通过写入行分隔符字符串来终止当前行。

           void println(boolean x):打印一个布尔值,然后终止该行。 

           void println(char x):打印一个字符,然后终止该行。 

           void println(char[] x):打印字符数组,然后终止行。 

           void println(double x):打印双精度浮点数,然后终止行。 

           void println(float x):打印一个浮点数,然后终止该行。 

           void println(int x):打印一个整数,然后终止该行。 

           void println(long x):打印一个长整型,然后终止行。 

           void println(Object x) :打印一个对象,然后终止该行。 

           void println(String x) :打印一个字符串,然后终止该行.

其实我们平时向控制台输出与从控制台读入数据,使用的就是这里的方法.

BufferedReader

提供了一个缓冲区.

构造器:  

 BufferedReader(Reader in):创建使用默认大小的输入缓冲区的缓冲字符输入流。 

 BufferedReader(Reader in, int sz):创建使用指定大小的输入缓冲区的缓冲字符输入流。

常用方法: 

String readLine():读一行字符串,读至换行符号为止,返回的数据不包含换行符当返回值为null时,表示读至文件末尾

文件字符流

FileWriter

相当于OutputStreamWriter与FileOutputStream合起来的功能,内部也维护了一个缓冲区,但是需要手动调用flush方法.

   构造器:

            FileWriter(File file)

             FileWriter(File file, boolean append)

             FileWriter(String fileName)

             FileWriter(String fileName, boolean append)

            append:表示追加,但是此流不能设置字符集。

         常用方法与 OutputStreamWriter的差不多

           

   FileReader

相当于InputStreamReader和FileInputStream合起来的功能内部也维护了一个缓冲区

   构造器:

      FileReader(File file)

      FileReader(String fileName)

   常用方法与InputStreamReader的方法差不多

猜你喜欢

转载自blog.csdn.net/bujiujie8/article/details/82352372