第十周课程总结

File类

· 在整个io包中,唯一表示与文件本身有关的类就是File类。
· 使用File类可以进行创建或删除文件等常用操作。
· 要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下所示:
  public File(String pathname)
  →实例化File类的时候,必须设置好路径。

File类中的主要方法和常量 

public static final String pathSeparator常量表示路径的分隔符(windows是:“;” )
public static final String separator常量表示路径的分隔符( windows是:“” )
public File(String pathname)构造创建File类对象, 传入完整路径
public boolean createNewFile() throws IOException普通创建新文件
public boolean delete()普通删除文件
public boolean exists()普通判断文件是否存在
public boolean isDirectory()普通判断给定的路径是否是一个目录
public long lenglh()普通返回文件的大小
public String[] list()普通列出指定目录的全部内容,只是列出了名称
public Filc[] listFilcs()普通列出指定目录的全部内容,会列出路径
public boolean mkdir()普通创建一个目录
public boolean renameTo(File dest)普通为已有的文件重新命名

· 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。

追加新内容

· 之前的所有操作中,如果重新执行程序,  则肯定会覆盖文件中的已有内容,  那么此时可以通过
  FielOutputStream向文件中追加内容,FileOutputStream的另外一个构造方法:
  · public FileOutputStream(File file,boolean append) throwsFileNotFoundException
· 在构造方法中,如果将append的值设置为true,则表示在文件的末尾追加内容。

使用FileWriter追加文件的内容

· 在使用字符流操作的时候,也可以实现文件的追加功能,  直接使用FileWriter类中的以下构造即可实现追加:
  · public FileWriter(File file,boolean append) throwsIOException
  · 将append的值设置成true,就表示追加。

OutputStreamWriter和InputStreamReader

· 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类。
  · OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变为字节流输出对象。
  · InputStreamReader: 是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象。

打印流

· 在整个IO包中,打印流是输出信息最方便的类,主要包含:
  · 字节打印流(PrintStream)
  · 字符打印流(PrintWriter)
· 打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等。

System类的常量

· System表示系统类,实际上在java中System类也对IO给予了一定的支持。
public static final PrintStream out对应系统标准输出,一 般是显示器
public static final PrintStream.err错误信息输出
public static final InputStream in对应着标准输入,一般是键盘

字节流

· 字节流主要是操作byte类型数据,以byte数组为准,主要操作类就是OutputStream、InputStream。
  · 字节输出流: OutputStream
  · 字节输入流: InputStream

字节流与字符流

· 在java.io包中操作文件内容的主要有两大类:
  · 字节流
  · 字符流
· 两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使用的是InputStream, 在字符流中输出主要是使用Writer类完成, 输入主要是使用Reader类完成。

字节输入流: InputStream

· 既然程序可以向文件中写入内容,则就可以通过InputStream从文件中把内容读取进来,首先来看InputStream类的定义:
  · public abstract class InputStream extends Objectimplements Closeable
· 与OutputStream类一 样, InputStream本 身也是-一个抽象类,必须依靠其子类,  如果现在是从文件中读取,子类肯定是FileInputStream。观察FileInputStream类的构造方法:
  · public FilelnputStream(File file) throws FileNotFoundException
01-06 11:03