您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > [Java基础教程-兄弟连马剑威]-102-IO之字符流
IO之字符流马剑威第102讲课程大纲1、字符输出流2、字符输入流3、字节流与字符流的区别1、字符输出流•publicabstractclassWriter•extendsObject•implementsAppendable,Closeable,Flushable•写入字符流的抽象类。子类必须实现的方法仅有write(char[],int,int)、flush()和close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。方法名称描述publicvoidwrite(Stringstr)throwsIOException直接将字符串写入输出publicvoidwrite(char[]cbuf)throwsIOException输出字符数组publicabstractvoidclose()throwsIOException关闭publicabstractvoidflush()throwsIOException刷新1、字符输出流•与OutputStream一样,对文件的操作使用:•FileWriter类完成,此类的构造方法如下:方法名称描述publicFileWriter(Filefile)throwsIOException根据File类构造FileWriter实例publicFileWriter(Filefile,booleanappend)throwsIOException根据File类构造FileWriter实例,可以追加内容2、字符输入流•publicabstractclassReaderextendsObject•implementsReadable,Closeable•用于读取字符流的抽象类。子类必须实现的方法只有read(char[],int,int)和close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。方法名称描述publicintread()throwsIOException读取一个内容publicintread(char[]cbuf)throwsIOException读取一组内容,返回读入的大小publicabstractvoidclose()throwsIOException关闭2、字符输入流•使用FileReader类进行实例化操作,FileReader类中的构造方法定义如下:方法名称描述publicFileReader(Filefile)throwsFileNotFoundException接收File类的实例3、字节流与字符流的区别•在所有的流操作里。字节永远是最基础的。任何基于字节的操作都是正确的。无论你是文本文件还是二进制的文件。如果确认流里面只有可打印的字符,包括英文的和各种国家的文字,也包括中文,那么可以考虑用字符流。由于编码不同,多字节的字符可能占用多个字节。比如GBK的汉字就占用2个字节,而UTF-8的汉字就占用3个字节。3、字节流与字符流的区别•所以,字符流是根据指定的编码,将1个或多个字节转化为java里面的unicode的字符,然后进行操作。字符操作一般使用Writer,Reader等,字节操作一般都是InputStream,OutputStream以及各种包装类,比如BufferedInputStream和BufferedOutputStream等。总结:如果你确认你要处理的流是可打印的字符,那么使用字符流会看上去简单一点。如果不确认,那么用字节流总是不会错的。4、作业•1、指定一个盘符下的文件,把该文件复制到指定的目录下。谢谢Thanks
本文标题:[Java基础教程-兄弟连马剑威]-102-IO之字符流
链接地址:https://www.777doc.com/doc-7798829 .html