java输入输出流课件

上传人:aa****6 文档编号:57138917 上传时间:2018-10-19 格式:PPT 页数:78 大小:253.50KB
返回 下载 相关 举报
java输入输出流课件_第1页
第1页 / 共78页
java输入输出流课件_第2页
第2页 / 共78页
java输入输出流课件_第3页
第3页 / 共78页
java输入输出流课件_第4页
第4页 / 共78页
java输入输出流课件_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《java输入输出流课件》由会员分享,可在线阅读,更多相关《java输入输出流课件(78页珍藏版)》请在金锄头文库上搜索。

1、Java输入输出流,伍淳华 北京邮电大学计算机学院,输入输出流,文件描述,类File提供了一种与机器无关的方式来描述一个文件对象的属性 文件的生成public File(String path);public File(String path,String name);public File(File dir,String name);,Java,Java输入输出流,文件描述,文件名的处理String getName();/*得到一个文件的名称(不包括路径)*/String getPath();/得到一个文件的路径名String getAbsolutePath();/*得到一个文件的绝对路径名

2、*/ String getParent();/*得到一个文件的上一级路径名*/ String renameTo(File newname) ;/*将当前文件名更名为给定文件的完整路径*/,Java,Java输入输出流,文件描述,文件属性测试boolean exists();/*测试当前File对象所指向的文件是否存在*/boolean canWrite();/ 测试当前文件是否可写boolean canRead();/测试当前文件是否可读boolean isFile();/*测试当前文件是否是文件(不是目录)*/boolean isDirectory();/*测试当前文件是否是目录*/,Jav

3、a,Java输入输出流,文件描述,普通文件信息和工具long lastModified();/得到文件最近一次修改的时间long length();/得到文件的长度,以字节为单位boolean delete();/删除当前文件 目录操作boolean mkdir();/*根据当前对象生成一个由该对象指定的路径*/string list();/列出当前目录下的文件,Java,Java输入输出流,import java.io.*; class FileTestW public static void main(String args)System.out.println(“Path separat

4、or”+File.pathSeparator);System.out.println(“Path separator char”+File.pathSeparatorChar);System.out.println(“File separator”+File.separator);System.out.println(“File separator char”+File. separatorChar);File f=new File(“dong1/test1.class”)System.out.println();System.out.println(f);System.out.println

5、(“exist?”+file.exists();System.out.println(“name”+f.getName();System.out.println (“path”+f.getPath();System.out.println (“absolute path”+f.getAbsolutePath();System.out.println (“parent”+f.getParent();,Java,Java输入输出流,System.out.println (“is a File”+f.isFile();System.out.println (“is a directory”+f.is

6、Directory();System.out.println (“length”+f.length();System.out.println (“can read”+f.canRead();System.out.println (“can Write”+f.canWrite();System.out.println (“last modified”+f.lastModified();File newF=new File(“new File”);System.out.println (“reName”+f+”);f.renameTo(newF);System.out.println (“name

7、”+newF.getName();System.out.println (f+“exists?”+f.exists();System.out.println (“delete”+newF+”);newF.delete();System.out.println (newF+“exists?”+newF.exists(); ,Java,Java输入输出流,运行结果,path separator; path separator char; file separator file separator chardong1/test1.class exists?true nametest1.class p

8、ath/dong1/test1.class absolute path /dong1/test1.class parent/dong1 is a File?true is a directory?false,Java,Java输入输出流,运行结果,length 514 can read true can write true last modified 907117020000 rename/dong1/test1.class name newFile /dong1/test1.class exists?false delete newFile newFile exists?false,Jav

9、a,Java输入输出流,文件处理,列出目录中与某种模式相匹配的文件public string list(FilenameFilter filter);在接口FilenameFilter中定义的方法只有:boolean accept(File dir,String name);,Java,Java输入输出流,import java.io.*; public class FileFilterTestpublic static void main (String args) File dir=new File(“/dong1”); Filter filter=new Filter(“htm”); S

10、ystem.out.println(“list html files in directory ”+dir); String files=dir.list(filter); for(int i=0;ifiles.length;i+) File f=new File(filesi);if(f.isFile() System.out.println(“file”+f);else System.out.println(“sub directory”+f); ,Java,Java输入输出流,class Filter implements FilenameFilter String extent; Fi

11、leter(String extent) this.extent=extent; public boolean accept(File dir,String name) return name.endsWith(“.”+extent); ,Java,Java输入输出流,运行结果,list html files in derectory /dong1file cert_test.htmfile cert_sample.htmfile cert_obj.htm,Java,流的基本概念,Java语言中输入/输出功能是通过流类来实现的,可以完成从基本的输入/输出到复杂的随机文件访问,包括Java中的网

12、络操作也是通过流来完成的。,文件,程序,文件,程序,网络端点,数据流,起点,终点,网络端点,Java,流的基本概念,数据流是从源到目的的字节的有序序列,先进先出。 按照流相对于程序的方向,可以分为两种基本流:Input stream(输入流), Output stream(输出流),Java,输入流与输出流,输入流:用于将程序中需要的数据从键盘、文件等外部设备读入。 输出流:用于将程序中产生的数据写到文件、屏幕显示等输出设备上,读操作过程:打开一个流 while(是否有更多数据)读数据 关闭流,写操作过程:打开一个流 While(是否有更多数据)写数据 关闭流,Java,流式输入输出的特点,每

13、个数据都必须等待排在它前面的数据读入或送出之后才能被读写每次读写操作处理的都是序列中剩余的未读写数据中的第一个,而不能随意选择输入输出的位置,Java,Java的标准输入输出,标准输入输出是指在命令行方式下的输入输出方式。Java通过System.in、System.out和System.err来实现标准输入输出和标准错误输出。每当main方法被执行时,就自动生成System.in、System.out和System.err三个对象。,Java,Java的标准输入输出,System.in是字节输入流InputStream类的一个对象,其中有read方法从键盘读入数据:public int re

14、ad() throws IOExceptionpublic int read(byte b) throws IOExceptionSystem.out是流PrintStream类的一个对象,其中print和println方法向屏幕输出数据。System.err是流PrintStream类的一个对象,用于向屏幕输出错误信息。,Java,例1:输入输出的实例,import java.io.IOException; public class StdinOut public static void main(String args)byte buf = new byte100;int count =

15、0;System.out.println(“Please input a string:“);trycount = System.in.read( buf );catch(IOException e)e.printStackTrace(); System.out.println(“count = “+count);for(int j = 0; j count; j+)System.out.println(char)bufj); System.out.println(“Input ten chars“); int ch;tryfor(int i = 0; i 10; i+)ch = System

16、.in.read();System.out.println(char)ch);catch(IOException e)e.printStackTrace(); ,Java,例1:输入输出的实例,程序,控制台,InputStream,PrintStream,Java,Java的数据流,Java的数据流都在java.io包里Java的数据流根据操作的数据流分为字节流和字符流字节流:流中的数据以8位字节为单位进行读写,以InputStream和OutputStream为基础类。字符流:流中的数据以16位字节为单位进行读写,以Reader和Writer为基础类。,Java,Java的数据流,以字节为对象:输入流:InputStream 输出流:OutputStrea以字符为对象:输入流: Reader输出流: Writer,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号