JAVA编程高级-文件与流(47页).doc
《JAVA编程高级-文件与流(47页).doc》由会员分享,可在线阅读,更多相关《JAVA编程高级-文件与流(47页).doc(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-JAVA编程高级-文件与流-第 47 页JAVA编程高级 文件与流3 Sept. 2008 Neusoft Confidential1文件与流目标:Java文件管理及File类的使用。流的概念及API。节点流与处理流的使用。对象序列化。对象序列化有关的接口和类。序列化对象的应用。教学方法:讲授ppt上机练习本章要点文件管理File类的使用与文件操作流的概念及API流的概念节点流与处理流的使用节点流处理流对象的序列化序列化transient关键字文件管理Java中对文件的管理是通过java.io包中的File类实现的JJava中对文件的管理主要是针对文件或是目录路径名的管理文件管理包括 创建文
2、件、目录, 查看文件和目录是否存在, 查看目录内的文件列表, 查看文件和目录的属性(读写、隐藏等), 对文件和目录名改名和删除。File对象可以表示某个文件的名字,也可以表示一个目录的名字。File对象不直接提供查看文件内容的方法,文件内容的操作是通过I/O流来访问的。4File对象的创建文件对象的创建是通过File类的构造器来实例化的File类构造方法: public File(String pathname)File f1 = new File(“c:tempabc.txt”);File f2 = new File(“abc.txt”);说明:1、字符串中使用的”符号属于转义字符,在字符串
3、中要使用真正的”符号,需要连续输入两个”。2、如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储,通过System.getProperty( user.dir )方法可以取得默认的当前路径。3、该方法不是在硬盘上创建一个文件,而是在内存里创建一个File对象。4、File对象只是创建了文件的引用,对象定义后,只是提供了后续通过该对象的引用,来对指定的文件进行相关操作。5File对象的创建 public File(String parent, String child)创建一个以child命名的文件对象,该对象存在于parent命名的路径下。File f = new
4、 File(“c:temp”,”test.text”); File(File parent, String child)创建一个以child命名的文件对象,该对象存在于parent的文件对象所引用的路径下。File f = new File(“c:tempnew”);File f1 = new File(f,”test.text”);6File对象的方法boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。boolean createNewFile() 创建新的空文件。Strin
5、g getName() 返回路径字符串中尾部部分的名字,不包括路径。String getParent() 返回File对象的父目录名String getPath() 返回路径名7File对象的方法(续)boolean delete()删除文件或目录,删除目录的时候,只有目录下没有任何内容,才能被删除。boolean exists()测试此抽象路径名表示的文件或目录是否存在。String getAbsolutePath()返回抽象路径名的绝对路径名字符串。long length()返回由此抽象路径名表示的文件的大小,以byte为单位。boolean renameTo(File dest)重新命名
6、此抽象路径名表示的文件。8File对象的方法(续)boolean isAbsolute()测试此抽象路径名是否为绝对路径名boolean isDirectoryy()测试此抽象路径名表示的文件是否是一个目录。boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件boolean isHidden()测试此抽象路径名指定的文件是否是一个隐藏文件。9File对象的方法(续)String list()返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组。File listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。boolea
7、n mkdir()创建此抽象路径名指定的目录,需要该目录的父目录物理上存在。boolean mkdirs() :创建此抽象路径名指定的目录,包括创建必需但不存在的父目录示例FileDemo.java10文件管理 练习FileExercise.java在本机的磁盘系统中,找一个文件夹,利用File类的提供方法,列出该文件夹中的所有文件的文件名和文件的路径。路径是xxx的文件夹内的文件有:文件名:abc.txt路径名:c:tempabc.txt文件名:def.txt路径名:c:tempdef.txt11流 在Java程序中,对于文件内容的存取,即对于数据的输入、输出操作,以“流”的方式进行的。 流
8、(Stream)像一个通道,通道内流动着数据,通道两端连接着数据的来源和目的地。数据来源(source)数据目的地(sink)输入流输出流程序程序12流的分类jdk提供了各种各样的“流”类,用以获取不同种类的数据。java.ioio包中定义了多个流类型来实现输入、输出功能,可以从多个角度对其分类: 按数据流的方向:输入流、输出流 按处理数据单位:字节流、字符流 按功能:节点流、处理流节点流:可以从数据源(节点)读写数据处理流:套接在已存在的流(节点流、处理流)之上,通过对数据的处理,为程序提供更为强大的读写功能。13流的分类JDK所提供的所有流类型位于java.io包内,它有两大继承体系: 一
9、个是以byte处理为主的Stream类,他们的命名方式都是以XXXXStream; 另一个继承体系是以字符处理为主的Reader/Writer类,他们的命名方式都是以XXXXReader或XXXXWriter。InputStream(字节输入流)、OutputStream (字节输出流)、Reader(字符输入流)、Writer (字符输出流)这四个类,正是这两大继承体系的父类。14InputStream继承自InputStream的流都用于向程序输入数据,且处理数据的单位为字节。15InputStream类int read() 一次读取一个字节的数据,以int类型把数据返回来,如果没有数据可
10、读了,会返回”-1”。int read(byte b) 把所读取到的数据放在byte数组中,返回实际读取的字节数。void close() 关闭输入流并释放与该流关联的所有系统资源。int available() 获取这个流中还有多少个byte的数据可以读取。16FileInputStreamFileInputStream直接继承于InputStream,用于从文件系统中的某个文件中获得输入字节。两种方式产生FIleInputStream对象: 产生一个File对象,然后当作FileInputStream类构造函数的参数;File f = new File(“c:tempabc.txt”);F
11、ileInputStream fin = new FileInputStream(f); 直接给构造函数一个字符串,也就是文件的名称。FileInputStream fin = new FileInputStream(“c:tempabc.txt”);示例FileInputStream.java17FileInputStream练习编写程序,从命令行输入要显示的文件,并显示该文件的内容。18OutputStream继承自OutputStream的流是用于从程序向外界输出数据,且处理数据的单位为字节。19OutputStream类void write(int b)向输出流中写入一个字节的数据。v
12、oid write(byte b)将一个字节型数组中的数据写入输出流。void close()关闭此输出流并释放与此流有关的所有系统资源。void flush()刷新此输出流并强制写出所有缓冲的输出字节。20FileOutputStreamFileOutputStream类用于将数据写入File,以字节为单位。FileOutputStream构造函数 FileOutputStream (File file)创建一个向指定File 对象表示的文件中写入数据的文件输出流 FileOutputStream (String name)创建一个向具有指定名称的文件中写入数据的输出文件流 FileOutp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 编程 高级 文件 47
限制150内