2009122501_java io操作

上传人:第*** 文档编号:30970029 上传时间:2018-02-03 格式:DOC 页数:19 大小:568.50KB
返回 下载 相关 举报
2009122501_java io操作_第1页
第1页 / 共19页
2009122501_java io操作_第2页
第2页 / 共19页
2009122501_java io操作_第3页
第3页 / 共19页
2009122501_java io操作_第4页
第4页 / 共19页
2009122501_java io操作_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《2009122501_java io操作》由会员分享,可在线阅读,更多相关《2009122501_java io操作(19页珍藏版)》请在金锄头文库上搜索。

1、北京 MLDN 软件实训中心 联系电话:010-51283346第(1)页 共(19)页 E-Mail:1、课程名称:Java IO 操作2、知识点2.1、上次课程的主要知识点1、 StringBuffer:当字符串需要重复改变的时候可以使用 StringBuffer 类完成,在 String 类中使用“+”完成连接,而StringBuffer 使用 append()方法完成连接。2、 垃圾收集: 自动回收:JVM 不定期调用 GC 进行垃圾空间的释放 手工回收:通过 Runtime 类中的 gc()方法(System.gc() 就是调用了 Runtime 类中的 gc()方法)进行回收 一个

2、对象回收前会默认调用 finalize()方法,以作为对象的收尾操作。3、 Date 表示一个日期时间,之后可以通过 SimpleDateFormat()类完成日期的格式化操作,此类可以完成 String 与 Date型数据的相互转换。4、 比较器:Comparable、Comparator北京 MLDN 软件实训中心 联系电话:010-51283346第(2)页 共(19)页 E-Mail: Comparable:在 java.lang 中保存,建立的时候直接实现此接口,有一个 compareTo()方法 Comparator:在 java.util 中保存,挽救的比较器操作,有两个,比较的

3、是 compare()方法5、 正则表达式,尤其是 String 类对正则的三个支持。6、 反射机制: Class 实例的三种取得方式 通过 Class 类进行对象的实例化操作7、 大数字:BigInteger、BigDecimal8、 对象克隆:Cloneable 属于标识接口,一个类需要克隆要覆写 Object 类中的 clone()方法,要扩大权限2.2、本次预计讲解的知识点1、 掌握 File 类的使用,并可以使用 File 类进行文件本身的操作;2、 掌握字节流和字符流的使用,并掌握 IO 操作的基本原理;3、 掌握打印流、文件操作流、内存操作流的使用4、 掌握对象序列化的使用。3、

4、具体内容IO 操作作为整个 JAVA 中最复杂的开发包,将作为一个难点出现,但是要想跨过此部分,就必须对面向对象的基本概念非常的熟悉,对于抽象类也要熟悉。根据实例化子类的不同,完成的功能也不同。这句话就是 IO 操作的核心。整个 IO 包中实际上需要的就是五个类和一个接口:File、OutputStream、InputStream 、 Writer、Reader;Serializable。所有的类和接口基本上都在 java.io 包中定义的。3.1、File 类(重点)File 类在整个 IO 包中是唯一一个与文件本身有关的操作类,所谓的与文件本身有关指的是创建、删除文件等操作。在 java.

5、io 包中的 File 类本身是一个跨平台的文件操作类,所以在操作中要更多的考虑到各个操作系统的区别。File 类的构造:public File(String pathname),在建立 File 对象的时候需要指定一个路径。现在要想创建一个文件,可以使用方法:public boolean createNewFile() throws IOExceptionpackage org.lxh.filedemo;import java.io.File;public class FileDemo01 public static void main(String args) throws Excepti

6、on File file = new File(d:temp.txt); / 指定要操作的文件路径file.createNewFile();既然可以创建文件,那肯定也可以删除:public boolean delete()但是如果要想删除文件,则肯定要判断文件是否存在:public boolean exists()北京 MLDN 软件实训中心 联系电话:010-51283346第(3)页 共(19)页 E-Mail:那么下面完成这样的一个程序:如果文件存在,则删除掉,如果文件不存在,则创建新的。package org.lxh.filedemo;import java.io.File;publi

7、c class FileDemo01 public static void main(String args) throws Exception File file = new File(d:temp.txt); / 指定要操作的文件路径if (file.exists() file.delete(); / 删除文件 else file.createNewFile(); / 创建新文件但是在创建和删除文件的时候发现会出现延迟的问题,因为 JAVA 运行机制是运行在 JVM 上,由 JVM 进行 OS 的具体的适应,所以中间存在延迟,而且本程序也有问题,在 Java 的最大特点是可移植性,但是在不

8、同的操作系统中路径的分割符肯定是不一样的: windows 中使用“” linux 中使用“/”那么要想解决这样的问题,就必须观察 File 类定义的常量:public static final String separator。separator 是一个常量,按照常量的命名要求肯定全部的字母都要大写:SEPARATOR。这些都是由于 Java 发展的历史原因所造成的问题。File file = new File(d: + File.separator + temp.txt); / 指定要操作的文件路径由于在给定文件的路径上有可能给出的是一个文件,也有可能给出的是一个文件夹,那么为了判断,在

9、File 类中提供了以下的两个方法: 判断是否是文件: public boolean isFile() 判断是否是文件夹: public boolean isDirectory()范例:判断类型package org.lxh.filedemo;import java.io.File;public class FileDemo02 public static void main(String args) throws Exception File file1 = new File(d: + File.separator + temp.txt); / 指定要操作的文件路径File file2 =

10、new File(d: + File.separator + testjava); / 指定要操作的文件路径System.out.println(file1.isFile();System.out.println(file2.isDirectory();在 File 类的操作中可以通过代码列出一个文件夹之中的完整内容,方法如下: 列出内容:public String list() 列出内容:public File listFiles()范例:使用 list()方法package org.lxh.filedemo;import java.io.File;public class FileDemo

11、03 北京 MLDN 软件实训中心 联系电话:010-51283346第(4)页 共(19)页 E-Mail:public static void main(String args) throws Exception File file = new File(d: + File.separator + testjava); / 指定要操作的文件路径if (file.isDirectory() / 如果是文件夹,则列出内容String list = file.list(); / 列出全部的内容for (int x = 0; x + listx.length();思考题:现在要求输出一个给定目录中

12、的全部文件的路径。本程序肯定只能依靠递归的操作完成,因为在一个给定的路径下有可能还是文件夹,那么如果是文件夹的话则肯定要继续列出,重复判断。package org.lxh.filedemo;北京 MLDN 软件实训中心 联系电话:010-51283346第(5)页 共(19)页 E-Mail:import java.io.File;public class ListFileDemo public static void main(String args) File file = new File(D: + File.separator);list(file);public static voi

13、d list(File file) if (file.isDirectory() / 如果是文件夹,则继续列出File f = file.listFiles();if (f != null) / 文件夹的内容已经列出for (int x = 0; x f.length; x+) list(fx); / 继续列出每一个内容System.out.println(file);包括 windows 的资源管理器就是采用了这种形式的代码完成的。3.2、字节流与字符流(核心重点)File 类本身是与文件操作有关,但是如果要想操作内容则必须使用字节流或字符流完成,但是不管是使用何种的输入输出流,其基本的操作

14、原理是一样的(以文件流为准)1、 使用 File 类找到一个文件2、 通过字节流或字符流的子类进行对象的实例化3、 进行读或写的操作4、 关闭字节或字符流由于流的操作属于资源操作,所以在操作的最后一定要关闭以释放资源。操作流有以下几个: 字节流:OutputStream、InputStream 字符流:Writer、Reader3.2.1、字节输出流字节输出流使用的是 OutputStream,此类定义如下:public abstract class OutputStream extends Object implements Closeable, Flushable本类是一个抽象类,根据面向

15、对象的概念,要通过子类进行对象的实例化操作。在此类中定义了如下的几个常用方法: 关闭流:public void close() throws IOException 写一组数据:public void write(byte b) throws IOException 写一个数据:public void write(int b) throws IOException但是要想为 OutputStream 实例化,且进行文件操作的话,就要使用 FileOutputStream 子类。北京 MLDN 软件实训中心 联系电话:010-51283346第(6)页 共(19)页 E-Mail: 构造:public FileOutputStream(File file ) throws FileNotFoundException范例:使用字节流进行输出,输出“Hello World” 。package org.lxh.outputstreamdemo;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;public class O

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

当前位置:首页 > 建筑/环境 > 工程造价

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