java字符流

来源:互联网 发布:linux trace 命令 编辑:程序博客网 时间:2024/05/22 12:56

                                 java 字符流

字符输入流

Writer 写入字符流的抽象类,子类必须实现的方法仅有write char [], int, int , flush ()

close ()。多数子类将重写此方法定义的方法,用来提高效率。

对文件操作,使用FileWrite类完成。

字符输出流:Writer 

使用字符输出流完成写文件操作:

public static void write1 ()

{    

File fnew File("D://1.txt");

try {

// true表示追加输出

Writer out = new  FileWriter(f,true);

String info = "good good study!";

//向文件中写入

out.write(info.toCharArray());

out.close();

}

字符输入流:

用于读取字符的抽象类,

子类必须实现的方法是read(),与close(),但是多数子类将重写定义的方法,

以提高效率。

public static void read1 () {

File f = new File ("D:\\apple.txt");

try {

Reader in = new FileReader(f);

   char [] cs = new char [20];

   StringBuffer sb = new StringBuffer();

   int len= 0 ;

   while ((len=in.read(cs))!=-1){

   sb.append(new String (cs,0 ,len));

   }

   in.close();

   System.out.println(sb);

}

字节流与字符流的区别:

在所有的流操作里,字节永远是最基础的,任何基于字节流的操作都是正确的,无论是二进制还是非二进制的文件。

如果确认流里只有可打印的字符,可以考虑使用字符流。

由于编码不同,多字节的字符可能占用多个字节,比如GBK占用两个字节,UTF-8汉字就占用3个字节。

 

 

 

 

 

0 0
原创粉丝点击