201711671130《Java程序设计》第十章学习总结

教材学习内容总结

主要内容:File类  文件字节输入、输出流  文件字符输入、输出流  缓冲流  随机流  数组流  数据流  对象流  序列化与对象克隆  使用Scanner解析文件  文件锁

java.io包(I/O流库)提供大量的流类。

输入流的指向称为它的源,程序通过输入流读取源中的数据。所有输入流都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类。

输出流的指向称为它的目的地,程序通过输出流把数据传送到目的地。所有输出流都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。

File类

1.File类的对象主要用来获取文件本身的一些信息,不涉及对文件的读写操作。

2.构造方法:·File(String filename);//用此创建的文件被认为与当前程序在同一目录中

                       ·File(String directoryPath,String filename);

                       ·File(File dir,String filename);

(filename是文件名,dierctoryPath是文件的路径,dir为一个目录)

3.File类获取文件本身信息的方法

·public String getName()                                ---文件的名字

·public boolean canRead()                            ---是否可读

·public boolean canWrite()                            ---是否可被写入

·public boolean exists()                                 ---是否存在

·public long length()                                        ---文件的长度(单位是字节)

·public String getAbsolutePath()                   ---文件的绝对路径

·public String getParent()                               ---文件的父目录

·public boolean isFile()                                   ---是否是普通文件

·public boolean isDirectory()                          ---是否是目录

·public boolean isHidden()                             ---是否是隐藏文件

·public long lastModified()                              ---最后修改时间

4.目录

创建目录:File对象调用方法public boolean mkdir(),创建成功返回true,否则返回false(如果该目录已经存在将返回false)

列出目录中的文件:·public String[] list()               字符串形式、全部

                                    ·public File [] listFiles()         File对象形式、全部

                                    ·public String[] list(FilenameFilter obj)        字符串形式、指定类型

                                    ·public File [] listFiles(FilenameFilter obj)   File对象形式、指定类型

File对象dirFile调用list方法时,需向该方法传递一个实现FilenameFilter接口的对象。执行时,参数obj不断回调接口方法accept(File dir,String name),其中参数dir为调用list的当前目录dirFile,参数name被实例化为dirFile目录中的一个文件名,当接口方法返回true时,list方法就将名字为name的文件存放到返回的数组中。

5.文件的创建与删除

·使用File类创建一个文件对象  eg:File file = new File("C:\\myletter","letter.txt");

·如果C:\myletter目录中没有letter.txt文件,文件对象file会调用方法  public boolean createNewFile();  创建出这个文件。

·文件对象调用方法  public boolean delete();  可以删除当前文件。

6.java.lang包中的Runtime类声明一个对象,然后用该类的getRuntime()静态方法创建这个对象。

eg:Runtime ec;

         ec=Runtime.getRuntime();

然后ec可以调用exec(String command)方法打开本地机器上的可执行文件或执行一个操作。

文字字节输入流

1.使用输入流的4个基本步骤

a.设定输入流的源;

b.创建指向源的输入流;

c.让输入流读取源中的数据;

d.关闭输入流;

2.FileInputStream类(文件字节输入流)是InputStream类的子类。

3.创建指向文件的输入流:  FileInputStream(String name)  FileInputStream(File file) name和file指定的文件称为输入流的源。

在try-catch语句中的try部分创建输入流,在catch(捕获)部分检测并处理异常。

try{

FileInputStream in = new FileInputStream("hello.txt");

}

catch (IOException e){

System.out.println("File read error:"+e );

}

File f = new File("hello.txt");

try{

FileInputStream in = new FileInputStream(f);

}

catch(IOException e){

System.out.println("File read error:"+e);

}

4.字节输入流的read方法以字节为单位读取源中的数据。(只要不关闭流,每次调用read方法就顺序地读取其余的内容,直到源的末尾或流被关闭。)

in read()读取单个字节,返回字节值(0~255之间的一个整数),未读出就返回-1。

in read(byte b[])读取b.length个字节到字节数组b,返回实际读取字节数,到达文件末尾返回-1。

int read(byte b[],int off,int len)读取len个字节到字节数组b,返回实际读取字节数,到达文件末尾返回-1,参数off指定从字节数组的某个位子开始存放读取的数据。

5.关闭流:关闭方法close()。

文件字节输出流

1.使用输出流的4个基本步骤

a.给出输出流的目的地

b.创建指向目的地的输出流

c.让输出流把数据写入到目的地

d.关闭输出流

2.FileOutputStream类(文件字节输入流)是OutputStream类的子类。

3.创建指向文件的输入流:FileOutputStream(String name)  FileOutputStream(File file) name和file指定的文件称为输出流的目的地。

在try-catch语句中的try部分创建输出流,在catch(捕获)部分检测并处理异常。

文字字符输入、输出流

Reader的子类创建的对象称为字符输入流,字符输入流按字符读取源中的数据。

Writer的子类创建的对象称为字符输出流。字符输出流按字符将数据写入输出流指向的目的地。

教材学习中的问题和解决过程

要学的内容比较多,短时间没办法全部吃透,还需要继续花时间学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值