JAVA编程技术基础课件第十章输入与输出.ppt

上传人:牧羊曲112 文档编号:5436193 上传时间:2023-07-06 格式:PPT 页数:43 大小:270.99KB
返回 下载 相关 举报
JAVA编程技术基础课件第十章输入与输出.ppt_第1页
第1页 / 共43页
JAVA编程技术基础课件第十章输入与输出.ppt_第2页
第2页 / 共43页
JAVA编程技术基础课件第十章输入与输出.ppt_第3页
第3页 / 共43页
JAVA编程技术基础课件第十章输入与输出.ppt_第4页
第4页 / 共43页
JAVA编程技术基础课件第十章输入与输出.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《JAVA编程技术基础课件第十章输入与输出.ppt》由会员分享,可在线阅读,更多相关《JAVA编程技术基础课件第十章输入与输出.ppt(43页珍藏版)》请在三一办公上搜索。

1、第十章 输入与输出,输入和输出是程序设计语言的一项重要功能,是程序和用户之间沟通的桥梁。方便易用的输入与输出使程序和用户之间产生良好的交互。输入功能使程序可以从外界,如键盘、磁盘文件等接收信息。输出功能使程序可以将运算结果等信息传递给外界,如屏幕、打印机、磁盘文件等。,Java程序不能直接操纵I/O设备,而是在程序和设备之间加入了一个中间介质,这就是流。流是数据传输的抽象表达,与具体设备无关。程序一旦建立了流,就可以不用理会起点或终点是何种设备。建立流实际上就是建立数据传输通道,将起点和终点连接起来。,图示,Java提供了专用于输入输出功能的包java.io,其中包含5个非常重要的类,几乎所有

2、与输入输出有关的类都继承了这5个类,即:InputStream、Outputstream、Reader、Writer和File。利用这些类,Java程序可以很方便地实现多种输入输出操作和复杂的文件与目录管理。,10-1 输入输出类库,流根据运动方向分为输入流 输出流流根据数据类型分为字节流(位流),二进制数 字符流,Unicode码,处理字节流:输入流InputStream输出流OutputStream,读写二进制数处理字符流:输入流Reader和输出流Writer读写字符(Unicode)抽象类,1、InputStream,方法:public int read()读取输入流的下一个字节pub

3、lic int read(byte b)将输入流读取到字节数组中public long skip(long n)从输入流中跳过n个字节public void mark()在指针位置做个标记public void reset()将指针移动到标记位置public void close()关闭输入流释放资源,InputStream子类,读 取文件输入流建立可过滤的输入流(抽象类)具备数据类型或格式转换功能具备缓冲功能的输入字节类,2、OutputStream,方法public void write(int b)将整数b的低8位写入输出流public void write(byte b)将字节数组写入

4、输出流public void flush()强制将缓冲区中的数据写入外设public void close()关闭输出流释放资源,OutputStream子类,写入文件输出流建立可过滤的输出流(抽象类)提供流的格式化输出功能具备数据类型或格式转换功能具备缓冲功能的输出字节类,3、Reader,方法:public int read()读取输入流的下一个字符public int read(char ch)将输入流读取到字符数组中public long skip(long n)从输入流中跳过n个字符public void mark()在指针位置做个标记public void reset()将指针移动

5、到标记位置public void close()关闭输入流释放资源,Reader子类,读取输入流到缓冲区读取字节流并转换为字符流从文件中读入字符流,4、Writer,方法public void write(int c)将整数c的低16位写入输出流public void write(char ch)将字符数组写入输出流public void flush()强制将缓冲区中的数据写入外设public void close()关闭输出流释放资源,Writer子类,将格式化对象写入文本输出流将字符数据写入缓冲区将字符流转换为字节流输出向文件中写入字符流,10-2 标准输入输出,Java预定义了3个流对象

6、分别表示标准输出设备,标准输入设备,标准错误设备System.out System.in System.errSystem类所有属性和方法都是静态的(static),System.In属于InputStream类,对应:键盘System.err属于PrintStream类,对应:屏幕,例,例10-1从键盘输入数据StandardIn1.java用trycatch改写此例StandardIn12.java例10-1从键盘输入多个数据StandardIn11.java由于键盘具有缓冲功能,可以一次输入多个字符,暂存在缓冲区中,供read()方法一次一个字节(字符)逐个读取,例,例10-2利用rea

7、d()方法暂缓程序运行StandardIn2,例,例10-3输入字符串StandardIn3.javareadline()方法是读入字符串,是BufferedReader类的方法例5-4排序ArraySort.java编写一个程序,从键盘输入一个字符串,统计其中元音字母a,e,i,o,u出现的次数。StandardIn4.java,10-2-2 标准输出,System.out 属于PrintStream类对象,对应显示器PrintStream类的方法print()、println()输出各类数据,10-2-3 标准错误,运行或编译Java程序时,各种错误信息输出到标准错误设备,即显示器标准错误

8、设备用System.err表示,属于PrintStream类对象,10-3 文件操作,File类位于java.io包中不是流类,不负责数据的输入与输出专门用来管理磁盘文件和目录一个File类对象表示一个磁盘文件或目录其对象属性包含了如名称、长度、所含文件个数等等文件或目录的相关信息其方法可完成如创建、删除等文件目录常用管理操作,10-3-1 建立File对象,构造方法1File(String path)2File(String path,String name)3File(File dir,String name)Path是路径name是文件名或目录名dir是File对象,表示一个磁盘目录,例

9、建立一个文件对象File file1=new File(“c:jdk1.3examplefile.txt)当前目录c:jdk1.3File file1=new File(“example file.txt”);/相对路径例建立一个目录对象String path=“d:java”;File dir1=new File(path);或File dir1=new File(“d:java”);,例,构造方法2示例String path=c:jdk1.3example“;File file1=new File(path,oldfile.txt);File file2=new File(path,new

10、file.txt);构造方法3示例File dir1=new File(c:javaexample“);File file1=new File(dir1,oldfile.txt);,10-3-2 File对象的属性和操作,1获得文件或目录名称与路径public String getName()public String getPath()2判断文件或目录是否存在pubic boolean exists()3获取文件长度public long length()4获取文件读写属性 public boolean canRead()public boolean canWrite(),5比较文件或目录

11、public boolean equals(File file)/相同返回真6判断是文件还是目录 public boolean isFile()/是文件返回真 public boolean isDirectiry()/是目录返回真7重命名文件 public boolean renameTo(File file)8删除文件 public void delete(),以字节方式写文件,例10-4以字节流方式写入文件 File2.javaFileOutputStream流类的构造方法FileOutputStream(String fileName)FileOutputStream(File file

12、)异常:当路径不正确时,捕获处理异常FileNotFoundException,以字节方式读文件,例10-5以字节流方式读磁盘文件 File3.javaFileInputStream流类的构造方法FileInputStream(String fileName)FileInputStream(File file)异常:当路径或文件名不正确时,捕获处理异常FileNotFoundException,向文件中读写各种类型数据,类DataInputStream和DataOutputStream,用来读取和写入各种类型数据要向文件中读写各种类型数据,就要利用上面两个类,类DataOutputStream

13、,方法writeInt()写入整数writeFloat()写入单精度数writeDouble()写入双精度数writeBoolean()写入布尔型数据异常:IOException FileNotFoundException,类DataInputStream,方法readInt()读取整数readFloat()读取单精度数readDouble()读取双精度数readBoolean()读取布尔型数据异常:IOException FileNotFoundException,例,例10-6向磁盘文件写入各类数据 File4.java,例,例10-7从磁盘文件读取各类数据 File5.java,磁盘文件

14、读写过程总结,利用文件名字符串或File对象创建文件输入输出流对象读写读read()写write()或以FileInputStream和FileOutputStream为原始数据源,再套接上其他功能较强大的输入输出类完成文件的读写操作关闭文件,以字符方式写文件,FileWriter类构造方法FileWriter(String fileName)FileWriter(File file)异常:当路径不正确时,捕获处理异常FileNotFoundException方法write()或writeln()异常:IOException,BufferedWriter类,可以减少程序和磁盘打交道的次数,提高

15、运行效率使用方法:首先为文件建立FileWriter对象,再为该FileWriter对象建立BufferedWriter类对象,写入操作将使用所建立的BufferWriter类对象。,例,例10-8以字符流方式写入文件 File8.java,以字符方式读文件,FileReader类构造方法FileReader(String fileName)FileReader(File file)异常:当路径不正确时,捕获处理异常FileNotFoundException方法read()异常:IOException,BufferedReader类,可以减少程序和磁盘打交道的次数,提高运行效率使用方法:首先为

16、文件建立FileReader对象,再为该FileReader对象建立BufferedReader类对象,通过使用所建立的BufferReader类对象的方法读取文件。,例,例10-9以字符流方式读取文件 File9.java将从键盘输入的字符串保存到文件中首先为System.in建立InputStreamReader类对象,现为该InputStreamReader类对象建立BufferedReader类对象,就可以通过BufferReader类对象从键盘接收字符数据,并实现缓冲功能。InputStreamReader类读入字节流数据,转换成字节符,例,例10-10以字符流方式向显示器输出File11.javaoutputStreamWriter类 读入字符流数据,将其转换成字节,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号