《JAVA语言程序设计》第9章.ppt
《《JAVA语言程序设计》第9章.ppt》由会员分享,可在线阅读,更多相关《《JAVA语言程序设计》第9章.ppt(49页珍藏版)》请在三一办公上搜索。
1、1,Java I/O操作,概念Java I/O类Java I/O操作标准输入/输出文件读写操作目录管理随机访问文件文件属性,2,概念,I/O来源控制台(console,如DOS窗口)打印/读入文件(file)读/写网络接口(TCP/UDP端口)读/写针对数据的读写以流(stream)的方式对数据进行操作,流的重要特性顺序读/写sequentially,3,概念,读/写流的一般流程读(Reading)open a stream/打开读出流while more information/判断 read information/读close the stream/关闭流写(Writing)open a
2、 stream/打开写入流while more information/判断 write information/写close the stream/关闭流,4,概念,两种流的定义(读取信息的基本数据单位)字节流(byte stream):一个字节(8-bit)一个字节读/写字符流(character stream):一个字符一个字符读/写(具有特定字符编码的数据),j a v a 语 言6A 61 76 61 D3 EF D1 D4以字节流的方式读:读8次,8个字节以字符流的方式读:读6次,6个字符,5,Java I/O操作,概念Java I/O类Java I/O操作标准输入/输出文件读写操
3、作目录管理随机访问文件文件属性,6,Java I/O类,字节流的读/写操作(来自JDK1.0)java.io.InputStream(抽象类)public abstract int read()public int read(byte b)public int read(byte b,int offset,int length)到达流的终点,无数据读出则返回-1java.io.OutputStream(抽象类)public abstract void write(int b)public void write(byte b)public void write(byte b,int offset
4、,int length)所有的读/写函数都抛出,7,Java I/O类,字符流的读/写操作(来自JDK1.1)类(抽象类)public int read()public int read(char cbuf)publc abstract int read(char cbuf,int offset,int length)到达流的终点,无数据读出则返回-1类(抽象类)public void write(int c)public void write(char cbuf)public void write(char cbuf,int offset,int length)所有的读/写函数都抛出,8,J
5、ava I/O类,I/O流的层次关系的子类class java.io.FileInputStreamclass java.io.BufferedInputStreamclass java.io.DataInputStream class java.io.ObjectInputStream,9,Java I/O类,I/O流的层次关系的子类class java.io.FileOutputStreamclass java.io.BufferedOutputStreamclass java.io.DataOutputStream,10,Java I/O类,I/O流的层次关系的子类class java.
6、io.BufferedReaderclass java.io.FilterReader class java.io.InputStreamReaderclass java.io.FileReader,11,Java I/O类,I/O流的层次关系的子类class java.io.BufferedWriterclass java.io.OutputStreamWriter class java.io.FileWriter,12,Java I/O类,I/O流的分类(12个功能类),13,Java I/O类,I/O流的分类(12个功能类),14,Java I/O类,I/O流的分类(12个功能类),15
7、,Java I/O操作,概念Java I/O类Java I/O操作标准输入/输出文件读写操作目录管理随机访问文件文件属性,16,Java I/O操作,主要内容标准输入/输出控制台屏幕打印和键盘读入文件I/O操作文件读写如何提高文件读写效率流的包装(Wrap)基本数据转换流目录管理随机访问文件(Random Access File)文件属性网络流操作(见第十三讲),17,输出:控制台屏幕打印class Test public static void main(String args)System.out.println(“Hello World!”);,标准输入/输出,C:java TestHe
8、llo World!C:,18,输入:键盘读入import java.io.IOException;class Test public static void main(String args)throws IOException byte b=new byte10;System.out.println(Received number=+System.in.read(b);,标准输入/输出,C:java TestAReceived number=3C:,19,文件读/写流程打开文件流条件判断读出/写入关闭文件流两种类型文件FileInputStream/FileOutputStream(字节流
9、)读取/生成ASCII文件FileReader/FileWriter(字符流)读取/生成包括汉字字符的文件,文件读写操作,20,文件字节流构造方法(打开字节流)利用类读取文件public FileInputStream(String name)throws FileNotFoundExceptionpublic FileInputStream(File file)throws FileNotFoundException利用类写/生成文件public FileOutputStream(String name)throws FileNotFoundExceptionpublic FileOutpu
10、tStream(String name,boolean append)throws FileNotFoundExceptionpublic FileOutputStream(File file)throws FileNotFoundExceptionpublic FileOutputStream(File file,boolean append)throws FileNotFoundException/是否向已存在的文件后添加类的构造方法public File(String pathname),文件读写操作,21,文件读写-实例1,文件读写操作,import java.io.*;public
11、class CopyBytes public static void main(String args)throws IOException File inputFile=new File(“original.txt);File outputFile=new File(“result.txt);FileInputStream in=new FileInputStream(inputFile);FileOutputStream out=new FileOutputStream(outputFile);int c;while(c=in.read()!=-1)out.write(c);in.clos
12、e();out.close();,public int read()throws IOExceptionpublic int read(byte b)throws IOExceptionpublic int read(byte b,int off,int len)throws IOException,FileInputStream in=new FileInputStream(“original.txt);FileOutputStream out=new FileOutputStream(“result.txt);,public void write(int b)throws IOExcept
13、ionpublic void write(byte b)throws IOExceptionpublic void write(byte b,int off,int len)throws IOException,打开流,读取流,写入流,关闭流,22,字符流构造方法(打开字符流)利用读取文件public FileReader(String fileName)throws FileNotFoundExceptionpublic FileReader(File file)throws FileNotFoundException利用写/生成文件public FileWriter(String file
14、Name)throws IOExceptionpublic FileWriter(String fileName,boolean append)throws IOExceptionpublic FileWriter(File file)throws IOExceptionpublic FileWriter(File file,boolean append)throws IOException类的构造方法public File(String pathname),文件读写操作,23,文件读写-实例2,文件读写操作,import java.io.*;public class Copy public
15、static void main(String args)throws IOException File inputFile=new File(“original.txt);File outputFile=new File(“result.txt);FileReader in=new FileReader(inputFile);FileWriter out=new FileWriter(outputFile);int c;while(c=in.read()!=-1)out.write(c);in.close();out.close();,FileReader in=new FileReader
16、(“original.txt);FileWriter out=new FileWriter(“result.txt);,public int read()throws IOExceptionpublic int read(char cbuf)throws IOExceptionpublic int read(char cbuf,int off,int len)throws IOException,public void write(int b)throws IOExceptionpublic void write(char cbuf)throws IOExceptionpublic void
17、write(char cbuf,int off,int len)throws IOException,打开流,读取流,写入流,关闭流,24,两类缓冲流针对字节流java.io.BufferedInputStream类java.io.BufferedOutputStream类针对字符流java.io.BufferedReader类java.io.BufferedWriter类,如何提高文件读写效率,25,构造方法类public BufferedInputStream(InputStream in)默认缓冲字节(2048 bytes)public BufferedInputStream(Input
18、Stream in,int size)public BufferedOutputStream(OutputStream out)默认缓冲字节(512 bytes)public BufferedOutputStream(OutputStream out,int size)类public BufferedReader(Reader in)默认缓冲字节(8192 bytes)public BufferedReader(Reader in,int sz)public BufferedWriter(Writer out)默认缓冲字节(8192 byte)public BufferedWriter(Wri
19、ter out,int sz),如何提高文件读写效率,26,String filename=“test.txt”;FileInputStream fis=new FileInputStream(filename);int count=0;int c;while(c=fis.read()!=-1)if(c=A)count+;fis.close();System.out.println(count);,实例1(判断一个文本文件包含多少个字符A),如何提高文件读写效率,普通的文件流,27,如何提高文件读写效率,String filename=“test.txt”;FileInputStream fi
20、s=new FileInputStream(filename);BufferedInputStream bis=new BufferedInputStream(fis);int count=0;int c;while(c=bis.read()!=-1)if(c=A)count+;fis.close();System.out.println(count);,利用缓冲流,实例1(判断一个文本文件包含多少个字符A),28,如何提高文件读写效率,FileInputStream fis=new FileInputStream(“test.txt”);int count=0;final int BUFSI
21、ZE=1024;byte buf=new byteBUFSIZE;int len;while(len=fis.read(buf)!=-1)for(int i=0;i len;i+)if(bufi=A)count+;fis.close();,自定义一个缓冲区,实例1(判断一个文本文件包含多少个字符A),29,String filename=“test.txt”;FileReader fr=new FileReader(filename);BufferedReader br=new BufferedReader(fr);int count=0;while(br.readLine()!=null)c
22、ount+;br.close();System.out.println(count);,实例2(按行读取数据),如何提高文件读写效率,30,概述,流的包装(wrap),FileReader fr=new FileReader(filename);BufferedReader br=new BufferedReader(fr);,String filename=“test.txt”;BufferedReader br=new BufferedReader(new FileReader(filename);,PrintWriter out=new PrintWriter(new BufferedW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA语言程序设计 JAVA 语言程序设计

链接地址:https://www.31ppt.com/p-6525850.html