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