java网络编程第6章.ppt
《java网络编程第6章.ppt》由会员分享,可在线阅读,更多相关《java网络编程第6章.ppt(29页珍藏版)》请在三一办公上搜索。
1、第一章,JAVA IO字符流,课程目标,ReaderWriterInputStreamReaderOutputStreamWriterFileReaderFileWriterBufferedReaderPrintWriter,体验项目,如图的窗体布局,当点击“打开”时打开文件对话框,并把打开的文本文件的内容显示到窗体的文本域中,当点击“保存”时把文本域的内容保存到文件中,点击“Exit”时退出程序。,字符流,字符流顾名思义是用来操作字符的,其实字节流类提供的功能足以满足处理任何类型I/O操作的需要,但是它们不能直接处理Unicode字符。但JAVA的一个主要目的是支持“只写一次,在各处运行”的
2、思想,所以它必须包括对字符直接的I/O支持。本节讨论了几个字符I/O类。在字符流层次的顶部是Reader和Writer抽象类。,字节流和字符流的区别和各自的用途,字符流处理的单元为两个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由JAVA虚拟机将字节转化以两个字节的Unicode字符为单位的字符而组成的,所以它对多国语言支持性比较好,如果是音频文件、图片、歌曲,就用字节流比较好,但如果是关系到中文(文本)的,用字符流比较好。,流类表,字符类的层次结构,Reader,Reader类是所有输入流类的祖先,所以它只定义了一些最
3、基本的方法,它直接的下一级子类是BufferedReader类、CharArrayReader类、FilterReader类、InputStreamReader类、PipedReader类和StringReader类等。这些类的所有方法在发生错误时都会抛出IOException异常。,Reader的常用方法,abstract void close()关闭输入源。如果继续读会产生IOException异常。void mark(int numChars)放置一个标记到输入流的当前点。它会一直有效,直到读取了numChars个字符。boolean markSupported()如果这个流支持mark
4、()/reset()方法,将返回true。int read()返回调节器所用的输入流中下一个可用字符的整数表示。如果文件结束,返回-1。,Reader的常用方法,int read(char buffer)试图读buffer.length个字符到buffer中,并且返回成功读取的实际字符数。如果遇到文件结尾,返回-1。abstract int read(char buffer,int offset,int numChars)将字符读入数组的某一部分,返回成功读取的字符数。如果遇到文件结尾,则返回-1。boolean ready()如果下一个输入请求不必等待,则返回true;否则,返回false。
5、void reset()重置输入指针到前面设置的标记。long skip(long numChars)跳过numChars个字符输入,返回实际跳过的字符数。,Writer,Writer类最直接的子类是BufferedWriter类、CharArrayWriter类、FileWriter类、PrintWriter类等。Writer类与Reader类一样,它也是抽象类,用于定义字符流输出的抽象类。因此它提供的方法中不包括构造方法,无法直接产生它的一个实例对象。所以要由其子类去构造真正的输出流实体对象,然后就可以把那个由其子类构造的输出流拿来使用。并且在有异常的情况下会抛出IOException异常
6、。,Writer的常用方法,writer append(char ch)throws IOException追加ch到调用输出流末尾,返回对调用输出流的引用。writer append(CharSequence chars)throws IOException追加chars到调用输出流末尾,返回对调用输出流的引用。abstract void close()关闭输出流。如果继续写入会产生IOException异常。abstract void flush()确定输出状态以便清空任何缓冲区,即清空输出缓冲区。,Writer的常用方法,void write(int ch)写入单个字符到调用的输出流。注
7、意参数是一个整数,它允许使用不必转换为char的表达式来调用write。void write(char buffer,int offset,int numChars)写入buffer数组中从offset开始的numChars个字符到调用输出流。void write(String str)写入str到调用输出流。void write(String str,int offset,int numChars)写入str字符串中从offset开始的numChars字符。,InputStreamReader,InputStreamReader继承了Reader,它实现了Reader的抽象方法,InputS
8、treamReader是字节流通向字符流的桥梁:它使用指定的charset读取字节并将其解码为字符。它使用的字符集可以由名称指定,否则可能为默认的字符集。每次调用InputStreamReader中的一个read()方法都会导致从基础输入流读取一个或多个字节。为了达到最高效率,可以考虑在BufferedReader内包装InputStreamReader,BufferedReader类在后面小节中介绍。例如以下语句把一个读取从控制台输入的InputStreamReader转换为了BufferedReader:BufferedReader in=new BufferedReader(new In
9、putStreamReader(System.in);,InputStreamReader的常用方法,void close()关闭当前流。String getEncoding()返回此流使用的字符编码的名称。int read()读取单个字符。int read(char cbuf,int offset,int length)将字符读入数组中的某一部分。boolean ready()告知是否准备读取此流。,OutputStreamWriter,OutputStreamWriter继承了Writer类并且实现了Writer的抽象方法,它与InputStreamReader相反,OutputStrea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 网络 编程
链接地址:https://www.31ppt.com/p-6510118.html